質問編集履歴

3

コードを修正しました

2019/08/02 12:17

投稿

kingsma20576829
kingsma20576829

スコア11

test CHANGED
File without changes
test CHANGED
@@ -184,11 +184,11 @@
184
184
 
185
185
  var who = show_bunsetu(who);
186
186
 
187
- var when = show_bunsetu($whem);
187
+ var when = show_bunsetu(whem);
188
-
188
+
189
- var what = show_bunsetu($what);
189
+ var what = show_bunsetu(what);
190
-
190
+
191
- var do_it = show_bunsetu($do_it);
191
+ var do_it = show_bunsetu(do_it);
192
192
 
193
193
  $('.js').text(who+when+what+do_it);
194
194
 
@@ -200,6 +200,10 @@
200
200
 
201
201
 
202
202
 
203
+
204
+
205
+
206
+
203
207
  ```
204
208
 
205
209
 

2

新しい問題点ができました

2019/08/02 12:17

投稿

kingsma20576829
kingsma20576829

スコア11

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,171 @@
41
41
  JavaScriptとPHPを使って作りたいのですが、どのように実装したらいいのか見当がつきません。
42
42
 
43
43
  アドバイスをいただけますと幸いです。
44
+
45
+
46
+
47
+ 回答1でyambejpさんから頂いた回答をもとに、自分でコードを書いてみました。
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ ```index.php
58
+
59
+
60
+
61
+ <!DOCTYPE html>
62
+
63
+ <html lang="en">
64
+
65
+ <head>
66
+
67
+ <meta charset="UTF-8">
68
+
69
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
70
+
71
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
72
+
73
+ <title>Document</title>
74
+
75
+ </head>
76
+
77
+ <body>
78
+
79
+ <h3>今の文章</h3>
80
+
81
+ <span class="js"></span>
82
+
83
+
84
+
85
+
86
+
87
+ <form method="post" action="index2.php">
88
+
89
+ <div>
90
+
91
+ <label><input type="radio" name="who" value="私は" class="bunsetu">私は</label>   |
92
+
93
+ <label><input type="radio" name="what" value="りんごを" class="bunsetu">りんごを</label> |
94
+
95
+ <label><input type="radio" name="when" value="明日" class="bunsetu">明日</label> |
96
+
97
+ <label><input type="radio" name="do" value="食べます" class="bunsetu">食べます</label>
98
+
99
+ </div>
100
+
101
+ <div>
102
+
103
+ <label><input type="radio" name="who" value="あなたは" class="bunsetu">あなたは</label> |
104
+
105
+ <label><input type="radio" name="what" value="オレンジを" class="bunsetu">オレンジを</label>|
106
+
107
+ <label><input type="radio" name="when" value="今日" class="bunsetu">今日</label> |
108
+
109
+ <label><input type="radio" name="do" value="買います" class="bunsetu">買います</label>
110
+
111
+ </div>
112
+
113
+ <div>
114
+
115
+ <label><input type="radio" name="who" value="彼女は" class="bunsetu">彼女は</label>  |
116
+
117
+ <label><input type="radio" name="what" value="ぶどうを" class="bunsetu">ぶどうを</label>  |
118
+
119
+ <label><input type="radio" name="when" value="昨日" class="bunsetu">昨日</label> |
120
+
121
+ <label><input type="radio" name="do" value="売ります" class="bunsetu">売ります</label>
122
+
123
+ </div>
124
+
125
+ <input type="submit" value="send">
126
+
127
+ </form>
128
+
129
+ </body>
130
+
131
+ <script src="//code.jquery.com/jquery-3.4.1.min.js"></script>
132
+
133
+ <script src="main.js"></script>
134
+
135
+ </html>
136
+
137
+ ```
138
+
139
+
140
+
141
+ ```index2.php
142
+
143
+ <?php
144
+
145
+
146
+
147
+ $who =filter_input(INPUT_POST,'who');
148
+
149
+ $what=filter_input(INPUT_POST,'what');
150
+
151
+ $when=filter_input(INPUT_POST,'when');
152
+
153
+ $do =filter_input(INPUT_POST,'do');
154
+
155
+ print($who.$what.$when.$do);
156
+
157
+
158
+
159
+ ?>
160
+
161
+ ```
162
+
163
+
164
+
165
+ ```main.js
166
+
167
+ function show_bunsetu($key){
168
+
169
+ if(typeof($('input[name=$key]:checked').val()) !== 'undefined'){
170
+
171
+ return $('input[name=$key]:checked'.val());
172
+
173
+ };
174
+
175
+ };
176
+
177
+
178
+
179
+ $(function(){
180
+
181
+ $('.bunsetu').click(function(){
182
+
183
+
184
+
185
+ var who = show_bunsetu(who);
186
+
187
+ var when = show_bunsetu($whem);
188
+
189
+ var what = show_bunsetu($what);
190
+
191
+ var do_it = show_bunsetu($do_it);
192
+
193
+ $('.js').text(who+when+what+do_it);
194
+
195
+
196
+
197
+ });
198
+
199
+ });
200
+
201
+
202
+
203
+ ```
204
+
205
+
206
+
207
+ 特にJavaScriptの部分は、jQueryで作ろうと実装しようとしましたが、うまく動きません。
208
+
209
+ 初めに書いたmian.jsのコードでは、「□私が」をクリックすると、今の文章として、「私がundefinedundefinedundefined」と表示されてしまいました。これを防ぐために、show_bunsetu関数で、クリックしていないwhen,what,do_itに関しては値を入れない、空文字?にして、「私が」だけを表示できる仕様を試みました。
210
+
211
+ しかし実行し、「□私が」にチェックを入れた結果、Uncaught Error: Syntax error, unrecognized expression: input[name=$key]:checkedと、jqeuryファイルにエラーが出てしまい、原因が特定できない状況です。

1

設計と実装の意味を間違えていました

2019/08/02 12:06

投稿

kingsma20576829
kingsma20576829

スコア11

test CHANGED
File without changes
test CHANGED
@@ -38,6 +38,6 @@
38
38
 
39
39
 
40
40
 
41
- JavaScriptとPHPを使って作りたいのですが、どう設計したらいいか見当がつきません。
41
+ JavaScriptとPHPを使って作りたいのですが、どのよに実装したらいいか見当がつきません。
42
42
 
43
43
  アドバイスをいただけますと幸いです。