質問編集履歴
1
コードの修正・エラー表示追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -99,70 +99,31 @@
|
|
99
99
|
</script>
|
100
100
|
<!-- reCAPTCHA -->
|
101
101
|
```
|
102
|
-
|
102
|
+
script.php
|
103
103
|
```
|
104
|
+
``` $("form").submit(function(){ //submit イベント
|
104
|
-
|
105
|
+
//エラー表示の初期化
|
105
|
-
|
106
|
+
$("p.error").remove();
|
106
|
-
<h2 class="">お問い合わせ内容確認</h2>
|
107
107
|
|
108
|
-
<div>
|
109
|
-
<p class="">名前</p>
|
110
|
-
<p id="confirm-name"></p>
|
111
|
-
|
108
|
+
//reCAPTCHA の検証
|
109
|
+
if(!$('#recaptcha').hasClass('verified')) {
|
110
|
+
$('#recaptcha').append("<p class='error' id='recaptcha_error'>チェックを入れてください</p>");
|
112
111
|
|
113
|
-
|
112
|
+
}
|
114
|
-
<p class="">メールアドレス</p>
|
115
|
-
<p id="confirm-email"></p>
|
116
|
-
</div>
|
117
113
|
|
118
|
-
|
114
|
+
//error クラスの追加の処理
|
119
|
-
|
115
|
+
if($("p.error").length() > 0){ //エラーがあれば
|
120
|
-
<p id="confirm-content"></p>
|
121
|
-
</div>
|
122
116
|
|
123
|
-
|
117
|
+
$("p.error").parent().addClass("error"); //親要素にクラスを追加
|
124
|
-
|
118
|
+
}
|
125
|
-
|
119
|
+
//エラーがあれば送信しない
|
120
|
+
if($("p.error").length() > 0){
|
121
|
+
return btn_flg = false;
|
126
122
|
|
127
|
-
<div id="errorDispaly">
|
128
|
-
<?php if(isset($error)): ?>
|
129
|
-
<?php foreach($error as $val): ?>
|
130
|
-
<?php echo h($val); ?><br />
|
131
|
-
|
123
|
+
}
|
132
|
-
|
124
|
+
});
|
133
|
-
</div><!--end of #errorDispaly-->
|
134
125
|
|
135
126
|
|
136
|
-
<form id="mail-form" method="POST" action="sendmail.php">
|
137
|
-
<!-- reCAPTCHA -->
|
138
|
-
<div id="recaptcha" class="g-recaptcha" data-sitekey="<?php echo RC_SITE_KEY; ?>"></div>
|
139
|
-
<noscript>
|
140
|
-
<p class="error">JavaSrcipt を有効にしてください。JavaSrcipt が無効の場合、このフォームは機能しません。</p>
|
141
|
-
</noscript>
|
142
|
-
<!-- reCAPTCHA -->
|
143
|
-
<input id="name" class="hidden" name="name">
|
144
|
-
<input id="email" class="hidden" name="mail">
|
145
|
-
<textarea id="message" class="hidden" name="message"></textarea>
|
146
|
-
<p>
|
147
|
-
<input id="send-btn" class="send-submit-btn" type="submit" value="送信">
|
148
|
-
</p>
|
149
|
-
<!--確認ページへトークンをPOSTする、隠しフィールド「ticket」-->
|
150
|
-
<input type="hidden" name="ticket" value="<?php echo h($ticket); ?>">
|
151
|
-
</form>
|
152
|
-
|
153
|
-
<div id="spinner" class="hidden">
|
154
|
-
<!-- <span uk-spinner="ratio: 3"></span> -->
|
155
|
-
</div>
|
156
|
-
<div id="return-message" class="hidden">
|
157
|
-
<p></p>
|
158
|
-
<p></p>
|
159
|
-
</div>
|
160
|
-
</div>
|
161
|
-
</div>
|
162
|
-
|
163
|
-
</section>
|
164
|
-
|
165
|
-
|
166
127
|
contact.js 部分
|
167
128
|
```
|
168
129
|
```"use strict";
|
@@ -321,6 +282,16 @@
|
|
321
282
|
```
|
322
283
|
### 試したこと
|
323
284
|
|
324
|
-
.length を .size にしましたが同じエラーでした。
|
285
|
+
.length を .size にしましたが同じエラーでした。こちらです。
|
325
286
|
|
287
|
+
[
|
288
|
+
[追記」
|
289
|
+
エラー文章は
|
290
|
+
Type Error: $(...).length is not a function です。
|
291
|
+
|
292
|
+
lengthの後ろに()がついていたのでそれをとって見たところ、チェックをしていないのに「チェックを入れてください」も表示されず送信されてしまいます。
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
326
297
|
よろしくおねがします。
|