質問編集履歴

12

間違い修正

2020/05/08 15:09

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -212,7 +212,7 @@
212
212
 
213
213
  <textarea name="comment" id="komtext"></textarea>
214
214
 
215
- <button id="koment">投稿する</button>
215
+ <button class="koment">投稿する</button>
216
216
 
217
217
  </form>
218
218
 
@@ -296,7 +296,7 @@
296
296
 
297
297
  <textarea name="comment" id="komtext"></textarea>
298
298
 
299
- <button id="koment">投稿する</button>
299
+ <button class="koment">投稿する</button>
300
300
 
301
301
  </form>
302
302
 
@@ -368,7 +368,7 @@
368
368
 
369
369
  <textarea name="comment" id="komtext"></textarea>
370
370
 
371
- <button id="koment">投稿する</button>
371
+ <button class="koment">投稿する</button>
372
372
 
373
373
  </form>
374
374
 

11

追記の箇所をみやすくした

2020/05/08 15:09

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -164,7 +164,7 @@
164
164
 
165
165
 
166
166
 
167
- [追記]
167
+ =====[追記]===================================
168
168
 
169
169
  .komentは投稿ボタン<button>に付与されているclass="koment"になります。
170
170
 

10

兄弟要素、複数ある場合はどの様な表示か追記

2020/05/08 14:53

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -161,3 +161,225 @@
161
161
  ###
162
162
 
163
163
  this以下の書き方が違うと思いますが、どこが違うのかわからないでいます。
164
+
165
+
166
+
167
+ [追記]
168
+
169
+ .komentは投稿ボタン<button>に付与されているclass="koment"になります。
170
+
171
+ .komlistはコメントを表示する際の<ul>に付与されているclass="komlist"になります。
172
+
173
+ .komentと.komilistはhtml構造上では、親が同じの兄弟要素です。
174
+
175
+ ```
176
+
177
+ <li>
178
+
179
+ <div class="replyList box">
180
+
181
+ <p class="replyTitle">コメント表示</p>
182
+
183
+ <ul class="komlist">
184
+
185
+ <li class="r-list">
186
+
187
+ <div>
188
+
189
+ <p><?= $c['name'] ?></p>
190
+
191
+ <div>
192
+
193
+ <?= $c['comment'] ?>
194
+
195
+ </div>
196
+
197
+ </div>
198
+
199
+ </li>
200
+
201
+ </ul>
202
+
203
+ </div>
204
+
205
+ <div class="replyForm">
206
+
207
+ <p class="replyFormTitle">コメント投稿</p>
208
+
209
+ <form onsubmit="return false;">
210
+
211
+ <input type="text" id="komname" name="name">
212
+
213
+ <textarea name="comment" id="komtext"></textarea>
214
+
215
+ <button id="koment">投稿する</button>
216
+
217
+ </form>
218
+
219
+ </div>
220
+
221
+ </li>
222
+
223
+ ```
224
+
225
+
226
+
227
+ 複数ある場合は、どの様に複数なのか。例:仮に口コミが2つある場合。
228
+
229
+ ```
230
+
231
+ <ul class="prepend">
232
+
233
+ //1つ目の口コミ
234
+
235
+ <li>
236
+
237
+ <div class="main">口コミ1</div>
238
+
239
+ <div class="detail">Aさん コメント1</div>
240
+
241
+ <div class="replyList box">
242
+
243
+ <p class="replyTitle">コメント表示</p>
244
+
245
+ //1つ目の口コミに対するコメント1
246
+
247
+ <ul class="komlist">
248
+
249
+ <li class="r-list">
250
+
251
+ <div>
252
+
253
+ <p><?= $c['name'] ?></p>
254
+
255
+ <div>
256
+
257
+ <?= $c['comment'] ?>
258
+
259
+ </div>
260
+
261
+ </div>
262
+
263
+ </li>
264
+
265
+ //1つ目の口コミに対するコメント2以降..
266
+
267
+ <li class="r-list">
268
+
269
+ <div>
270
+
271
+ <p><?= $c['name'] ?></p>
272
+
273
+ <div>
274
+
275
+ <?= $c['comment'] ?>
276
+
277
+ </div>
278
+
279
+ </div>
280
+
281
+ </li>
282
+
283
+ //...と上記の様に<li>が増えていく感じです
284
+
285
+ </ul>
286
+
287
+ </div>
288
+
289
+ <div class="replyForm">
290
+
291
+ <p class="replyFormTitle">コメント投稿</p>
292
+
293
+ <form onsubmit="return false;">
294
+
295
+ <input type="text" id="komname" name="name">
296
+
297
+ <textarea name="comment" id="komtext"></textarea>
298
+
299
+ <button id="koment">投稿する</button>
300
+
301
+ </form>
302
+
303
+ </div>
304
+
305
+ </li>
306
+
307
+ //2つ目の口コミ
308
+
309
+ <li>
310
+
311
+ <div class="main">口コミ2</div>
312
+
313
+ <div class="detail">Bさん コメント2</div>
314
+
315
+ <div class="replyList box">
316
+
317
+ <p class="replyTitle">コメント表示</p>
318
+
319
+ //2つ目の口コミに対するコメント1
320
+
321
+ <ul class="komlist">
322
+
323
+ <li class="r-list">
324
+
325
+ <div>
326
+
327
+ <p><?= $c['name'] ?></p>
328
+
329
+ <div>
330
+
331
+ <?= $c['comment'] ?>
332
+
333
+ </div>
334
+
335
+ </div>
336
+
337
+ </li>
338
+
339
+ //2つ目の口コミに対するコメント2以降
340
+
341
+ <li class="r-list">
342
+
343
+ <div>
344
+
345
+ <p><?= $c['name'] ?></p>
346
+
347
+ <div>
348
+
349
+ <?= $c['comment'] ?>
350
+
351
+ </div>
352
+
353
+ </div>
354
+
355
+ </li>
356
+
357
+ </ul>
358
+
359
+ </div>
360
+
361
+ <div class="replyForm">
362
+
363
+ <p class="replyFormTitle">コメント投稿</p>
364
+
365
+ <form onsubmit="return false;">
366
+
367
+ <input type="text" id="komname" name="name">
368
+
369
+ <textarea name="comment" id="komtext"></textarea>
370
+
371
+ <button id="koment">投稿する</button>
372
+
373
+ </form>
374
+
375
+ </div>
376
+
377
+ </li>
378
+
379
+ //...口コミが増えていくたびに<ul class="prepend">以下の<li>要素が増えていきます。
380
+
381
+
382
+
383
+ </ul>
384
+
385
+ ```

9

編集

2020/05/08 14:52

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -94,9 +94,7 @@
94
94
 
95
95
  comment: $(this).closest('#kom').find('#komtext').val(),
96
96
 
97
- review_id: $(this).closest('#kom').find('#review_id').val(),
97
+ review_id: $(this).closest('#kom').find('#review_id').val(),
98
-
99
- created_at: new Date()
100
98
 
101
99
  },
102
100
 

8

ajaxのところから掲載

2020/05/08 12:14

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  ```
76
76
 
77
- 投稿ボタンを押すjqueryのソースコード
77
+ ajax(jquery)のソースコード
78
78
 
79
79
 
80
80
 
@@ -82,29 +82,51 @@
82
82
 
83
83
  $(document).on('click','.koment',function(){
84
84
 
85
+ $.ajax({
86
+
87
+ url:'/comment/comment',
88
+
89
+ type:'POST',
90
+
91
+ data:{
92
+
93
+ name: $(this).closest('#kom').find('#komname').val(),
94
+
95
+ comment: $(this).closest('#kom').find('#komtext').val(),
96
+
97
+ review_id: $(this).closest('#kom').find('#review_id').val(),
98
+
99
+ created_at: new Date()
100
+
101
+ },
102
+
103
+ dataType: 'json'
104
+
105
+ })
106
+
107
+ // Ajax通信が成功したら発動
108
+
109
+ .done(function(data, dataType){
110
+
111
+ $('.komlist').prepend(
112
+
113
+ '<li>'+
114
+
115
+ '<p>'+ data['name'] +'</p>'+
116
+
117
+ '<p>'+ data['comment']+ '</p>'+
118
+
119
+ '</li>'
120
+
121
+ )
122
+
123
+ })
124
+
85
125
  });
86
126
 
87
127
  ```
88
128
 
89
- ajaxが通信成功するとdone{}の中で
90
129
 
91
- jqueryのソースコード
92
-
93
- ```
94
-
95
- $(".komlist").prepend(
96
-
97
- "<li>"+
98
-
99
- "<p> + data['name'] + </p>"+
100
-
101
- "<p> + data['comment'] + </p>"+
102
-
103
- '</li>'
104
-
105
- )
106
-
107
- ```
108
130
 
109
131
  で新しいコメント順でコメントを表示させています。
110
132
 

7

DBのテーブル情報を追加

2020/05/08 12:12

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,11 @@
8
8
 
9
9
  リロード(更新)すると正常に表示されている為、DBにajaxから送信したデータは入っていると思われます。
10
10
 
11
- ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
11
+ ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ画面遷移せずに表示させたいです。
12
+
13
+
14
+
15
+ DBには口コミテーブルと口コミに対するコメントテーブルがあり、ajaxを使わない(画面遷移する)状態であればこの機能は実装できております。
12
16
 
13
17
 
14
18
 

6

class追加

2020/05/08 11:21

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,9 @@
48
48
 
49
49
  ```
50
50
 
51
+ <div class="replyList">
52
+
51
- <ul class="komlist">
53
+ <ul class="komlist">
52
54
 
53
55
  <php foreach($comment as $c) { ?>
54
56
 
@@ -62,7 +64,9 @@
62
64
 
63
65
  <?php } ?>
64
66
 
65
- </ul>
67
+ </ul>
68
+
69
+ </div>
66
70
 
67
71
  ```
68
72
 

5

題名にjquery,ajax追加

2020/05/08 09:46

投稿

amakuma
amakuma

スコア13

test CHANGED
@@ -1 +1 @@
1
- 非同期処理でコメントを1件投稿すると口コミに対するコメントを1件表示させたい
1
+ 非同期処理でコメントを1件投稿すると口コミに対するコメントを1件表示させたい jquery ajax
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  one_reviewに対してコメントを投稿しても、one_reviewとtwo_review両方にコメントが表示されてしまいます。
8
8
 
9
- リロード(更新)すると正常に表示されている為、DBにajaxからデータは入っていると思われます。
9
+ リロード(更新)すると正常に表示されている為、DBにajaxから送信したデータは入っていると思われます。
10
10
 
11
11
  ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
12
12
 

4

追加

2020/05/08 09:33

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,8 @@
5
5
  例えば1件目の口コミがone_review、2件目の口コミがのtwo_reviewとすると
6
6
 
7
7
  one_reviewに対してコメントを投稿しても、one_reviewとtwo_review両方にコメントが表示されてしまいます。
8
+
9
+ リロード(更新)すると正常に表示されている為、DBにajaxからのデータは入っていると思われます。
8
10
 
9
11
  ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
10
12
 

3

わかりずらいため言葉修正

2020/05/08 09:24

投稿

amakuma
amakuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
1
  ### 実現したいこと
2
2
 
3
- 現状1ページに口コミは2件あり、1件口コミに対るコメントを投稿するとそれぞれの口コミへ1件ずつ 、合計コメントが2件表示されてしまう
3
+ 現状1ページに口コミは2件ありす。
4
4
 
5
- 非同期処理で1件コメントを投稿すると口コミに対するコメントを1件表示させたい。
5
+ 例えば1件目の口ミがone_review、2件目の口コミがのtwo_reviewとする
6
6
 
7
+ one_reviewに対してコメントを投稿しても、one_reviewとtwo_review両方にコメントが表示されてしまいます。
8
+
7
- 口コミを1ページに2件ずつ表示させています。ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
9
+ ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
8
10
 
9
11
 
10
12
 

2

タイトルが長すぎたため修正、

2020/05/08 09:22

投稿

amakuma
amakuma

スコア13

test CHANGED
@@ -1 +1 @@
1
- 非同期処理でコメントを1件投稿すると口コミに対するコメントを1件表示させたい  現状は口コミは2件あり、1件投稿するとコメントが2件表示されてしまう。
1
+ 非同期処理でコメントを1件投稿すると口コミに対するコメントを1件表示させたい
test CHANGED
@@ -1,4 +1,6 @@
1
1
  ### 実現したいこと
2
+
3
+ 現状1ページに口コミは2件あり、1件口コミに対するコメントを投稿するとそれぞれの口コミへ1件ずつ 、合計コメントが2件表示されてしまう。
2
4
 
3
5
  非同期処理で1件コメントを投稿すると口コミに対するコメントを1件表示させたい。
4
6
 

1

レビューと口コミが混同していた為、口コミに統一した

2020/05/08 07:27

投稿

amakuma
amakuma

スコア13

test CHANGED
@@ -1 +1 @@
1
- 非同期処理でコメントを1件投稿するとレビューに対するコメントを1件表示させたい  レビューは2件あり、1件投稿するとコメントが2件表示され
1
+ 非同期処理でコメントを1件投稿すると口コミに対するコメントを1件表示させたい  現状口コミは2件あり、1件投稿するとコメントが2件表示されてしまう
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 実現したいこと
2
2
 
3
- 非同期処理で1件コメントを投稿するとレビューに対するコメントを1件表示させたい。
3
+ 非同期処理で1件コメントを投稿すると口コミに対するコメントを1件表示させたい。
4
4
 
5
5
  口コミを1ページに2件ずつ表示させています。ajax(非同期処理)を利用して、口コミに対するコメントをそれぞれ表示させたいです。
6
6
 
@@ -94,13 +94,13 @@
94
94
 
95
95
  で新しいコメント順でコメントを表示させています。
96
96
 
97
- しかし、これだと1件コメントを投稿すると、1ページに2件レビューがあるので、そのどちらにもコメントが表示されてしまいます。
97
+ しかし、これだと1件コメントを投稿すると、1ページに2件口コミがあるので、そのどちらにもコメントが表示されてしまいます。
98
98
 
99
99
 
100
100
 
101
101
  ### 試したこと
102
102
 
103
- 現状は('.komlist')でprependするセレクタを指定しているのですが、class="komlist"には2件ずつレビューがあるため、そのどちらにも投稿したコメントが1件ずつ表示されてると考えました。
103
+ 現状は('.komlist')でprependするセレクタを指定しているのですが、class="komlist"には2件ずつ口コミがあるため、そのどちらにも投稿したコメントが1件ずつ表示されてると考えました。
104
104
 
105
105
 
106
106