JavaScript でフォームのチェックボックスを検証しようとしていますが、コードでエラー メッセージをスローすることができません。
3daypass
ラジオボタンが選択されている場合、特定のセクションの 3 つのチェックボックスを#matthewpeckham
選択する必要があります。これは、 onSubmit() を実行したコードです。
function chooseDaysCorrect() {
var totalDaysChecked = 0;
var totalDaysChecked = $('#matthewpeckham').find("[type='checkbox']:checked").length;
if (document.getElementById('3daypass').checked && totalDaysChecked != 3) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else if (document.getElementById('2daypass').checked && totalDaysChecked != 2) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else if (document.getElementById('1daypass').checked && totalDaysChecked != 1) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else {
return true;
}
}
("[type='checkbox']:checked").length
選択されたチェックボックスの数を数える正しい方法はありますか? どこで間違ったのですか?
フォーム送信で関数を実行する次の方法も試しましたが、これも機能しません。
$(document).ready(function() {
$('#classic').submit(function() {
var totalDaysChecked = 0;
var totalDaysChecked = $('#matthewpeckham').find("[type='checkbox']:checked").length;
if (document.getElementById('3daypass').checked && totalDaysChecked != 3) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else if (document.getElementById('2daypass').checked && totalDaysChecked != 2) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else if (document.getElementById('1daypass').checked && totalDaysChecked != 1) {
alert("Please select enough days for your chosen delegate pass from the CONFERENCE PASS section above");
return false;
}
else {
return true;
}
});
});