質問編集履歴

1

コードの修正・エラー表示追記

2019/12/25 12:45

投稿

cyamio
cyamio

スコア4

test CHANGED
File without changes
test CHANGED
@@ -200,129 +200,51 @@
200
200
 
201
201
  ```
202
202
 
203
- index.php コンタクト部分
203
+ script.php
204
204
 
205
205
  ```
206
206
 
207
- ```
208
-
209
- <div id="confirm">
210
-
211
- <h2 class="">お問い合わせ内容確認</h2>
212
-
213
-
214
-
215
- <div>
216
-
217
- <p class="">名前</p>
218
-
219
- <p id="confirm-name"></p>
220
-
221
- </div>
222
-
223
-
224
-
225
- <div>
226
-
227
- <p class="">メールアドレ</p>
228
-
229
- <p id="confirm-email"></p>
230
-
231
- </div>
232
-
233
-
234
-
235
- <div>
236
-
237
- <p class="">お問合わせ内容</p>
238
-
239
- <p id="confirm-content"></p>
240
-
241
- </div>
242
-
243
-
244
-
245
- <div id="close">
246
-
247
- <p>閉じる</p>
248
-
249
- </div>
250
-
251
-
252
-
253
- <div id="errorDispaly">
254
-
255
- <?php if(isset($error)): ?>
256
-
257
- <?php foreach($error as $val): ?>
258
-
259
- <?php echo h($val); ?><br />
260
-
261
- <?php endforeach; ?>
262
-
263
- <?php endif; ?>
264
-
265
- </div><!--end of #errorDispaly-->
266
-
267
-
268
-
269
-
270
-
271
- <form id="mail-form" method="POST" action="sendmail.php">
272
-
273
- <!-- reCAPTCHA -->
274
-
275
- <div id="recaptcha" class="g-recaptcha" data-sitekey="<?php echo RC_SITE_KEY; ?>"></div>
276
-
277
- <noscript>
278
-
279
- <p class="error">JavaSrcipt を有効にしてください。JavaSrcipt が無効の場合、このフォームは機能しません。</p>
280
-
281
- </noscript>
282
-
283
- <!-- reCAPTCHA -->
284
-
285
- <input id="name" class="hidden" name="name">
286
-
287
- <input id="email" class="hidden" name="mail">
288
-
289
- <textarea id="message" class="hidden" name="message"></textarea>
290
-
291
- <p>
292
-
293
- <input id="send-btn" class="send-submit-btn" type="submit" value="送信">
294
-
295
- </p>
296
-
297
- <!--確認ページへトークンをPOSTする、隠しフィールド「ticket」-->
298
-
299
- <input type="hidden" name="ticket" value="<?php echo h($ticket); ?>">
300
-
301
- </form>
302
-
303
-
304
-
305
- <div id="spinner" class="hidden">
306
-
307
- <!-- <span uk-spinner="ratio: 3"></span> -->
308
-
309
- </div>
310
-
311
- <div id="return-message" class="hidden">
312
-
313
- <p></p>
314
-
315
- <p></p>
316
-
317
- </div>
318
-
319
- </div>
320
-
321
- </div>
322
-
323
-
324
-
325
- </section>
207
+ ``` $("form").submit(function(){ //submit イベント
208
+
209
+ //エラー表示の初期化
210
+
211
+ $("p.error").remove();
212
+
213
+
214
+
215
+ //reCAPTCHA の検証
216
+
217
+ if(!$('#recaptcha').hasClass('verified')) {
218
+
219
+ $('#recaptcha').append("<p class='error' id='recaptcha_error'>チェックを入れてください</p>");
220
+
221
+
222
+
223
+ }
224
+
225
+
226
+
227
+ //error クラの追加の処理
228
+
229
+ if($("p.error").length() > 0){ //エラーがあれば
230
+
231
+
232
+
233
+ $("p.error").parent().addClass("error"); //親要素にクラスを追加
234
+
235
+ }
236
+
237
+ //エラーがあれば送信しな
238
+
239
+ if($("p.error").length() > 0){
240
+
241
+ return btn_flg = false;
242
+
243
+
244
+
245
+ }
246
+
247
+ });
326
248
 
327
249
 
328
250
 
@@ -644,7 +566,27 @@
644
566
 
645
567
 
646
568
 
647
- .length を .size にしましたが同じエラーでした。
569
+ .length を .size にしましたが同じエラーでした。こちらです。
570
+
571
+
572
+
573
+ [
574
+
575
+ [追記」
576
+
577
+ エラー文章は
578
+
579
+ Type Error: $(...).length is not a function です。
580
+
581
+
582
+
583
+ lengthの後ろに()がついていたのでそれをとって見たところ、チェックをしていないのに「チェックを入れてください」も表示されず送信されてしまいます。
584
+
585
+
586
+
587
+
588
+
589
+
648
590
 
649
591
 
650
592