1
我正在期待JavaScript验证表单的复选框,但我无法让我的代码抛出错误消息。验证根据单选按钮选择的复选框的数量
如果选择3daypass
单选按钮,在一定部分#matthewpeckham
3个复选框应选择等,这是我已经运行的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;
}
});
});
这样应能正常工作。你有没有尝试'#matthewpeckham'选择器?没有':checked'? – Jon
另外,HTML 4不允许id属性以数字开头,所以'3daypass','2daypass'可能会被怀疑。你有没有尝试改变这些? – Jon
我已经尝试了所有这些建议,但它仍不显示错误。对单选按钮的其他验证工作,因此它不能是ID名称。我也尝试过'onSubmit =“chooseDaysCorrect();”'和'onSubmit =“return chooseDaysCorrect();”'如果是这样,但没有任何东西。 – mpdc