我已经通过jquery对我的表单应用了验证,并且在该表单中我有四个复选框,用户必须选中一个以提交表单。
这是代码:
for (var i = 0; i < c.length; i++) {
if (c[i].type == 'checkbox' && c[i].checked == true) {
return true;
} else {
error += alert ("You must select atleast one previous benefit provided");
return false
}
}
问题是这使用返回键,如果我删除返回键,它将提醒4次(相同数量的复选框),如果我让它在那里那么检查字段和给出错误的if语句不起作用< / p>
if(error != "") {
$("#error").html("<strong>Some fields are invalid!</strong>") || error;
return false;
} else {
return true;
}
如果我在复选框验证中删除了返回,那么每个工作都可以正常工作,但它会发出四次警报,如果不删除它,那么不提出错误就会提交表单。
答案 0 :(得分:2)
error
不会返回任何内容,因此您的var hasChecked = $('#myForm :checkbox:checked').length;
if(!hasChecked){
return false
error = true;
}
逻辑没有意义。
创建一个已选中复选框的集合,并确保它具有长度。
counter