前提・実現したいこと
はじめまして。PHP初学者です。
初歩的なご質問で申し訳ないのですがどうしても分からず困っております。
現在お問い合わせフォームの作成に挑戦しており、
あるチェックボックスで2つ選択した時のみ送信可(それ以外だとアラートではなく、文字列としてエラー表示)にしたいのですが情報が少なくどうすればいいか分からない状況です。
html
1 2<tr> 3<th class="number"> 41 5</th> 6<td> 7<label>選択1<input type="checkbox" name="good[]" value="選択1"></label> 8</td> 9</tr> 10<tr> 11<th class="number"> 122 13</th> 14<td> 15<label>選択2<input type="checkbox" name="good[]" value="選択2"></label> 16</td> 17</tr> 18<tr> 19<th class="number"> 203 21</th> 22<td> 23<label>選択3<input type="checkbox" name="good[]" value="選択3"></label> 24</td> 25</tr> 26<tr> 27<th class="number"> 284 29</th> 30<td> 31<label>選択4<input type="checkbox" name="good[]" value="選択4"></label> 32</td> 33</tr> 34<tr> 35<th class="number"> 365 37</th> 38<td> 39<label>選択5<input type="checkbox" name="good[]" value="選択5"></label> 40</td> 41</tr> 42
試したこと
java
1jQuery(function() { 2 3 // チェックボックスをチェックしたら発動 4 jQuery('input[name="good[]"]').change(function() { 5 6 // ①チェックが入ったチェックボックスの個数を変数に格納 7 var len = jQuery('input[name="good[]"]:checked').length; 8 9 // ②チェックが2つ以上入ったら 10 if (len >= 2) { 11 12 // ③disabledを付けてチェックできなくする 13 jQuery('input[name="good[]"]').not(':checked').attr('disabled', 'disabled'); 14 15 // チェックが2つ未満だったら 16 } else { 17 18 // ④disabledを削除してチェックできるようになる 19 jQuery('input[name="good[]"]').not(':checked').removeAttr('disabled'); 20 } 21 22 }); 23});
補足情報(FW/ツールのバージョンなど)
上記のソースコードを試して成功したのはいいのですが、
チェック数が1だとそのまま送信できてしまうのでこのソースコードに
選択が2つ未満だった時、送信を押すと2つ選択されていません。のエラーメッセージを表示させるようにしたいです。
教えて頂きました内容はただコピペではなくしっかりと学び、次に活かしたいと思います。
文面が分かりづらいかもしれませんが、どうぞ宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー