使用什么来替换返回布尔值



我已经通过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 语句不起作用

if(error != "") {
   $("#error").html("<strong>Some fields are invalid!</strong>") || error;
   return false;
} else {
   return true;
}

如果我在复选框验证中删除退货,那么一切正常,但它会发出四次警报,如果不删除它,那么它不会出错,它会提交表单。

alert()

返回任何内容,因此您的error逻辑没有意义。

创建一组选中的复选框,并确保它具有长度。

var hasChecked = $('#myForm :checkbox:checked').length;
if(!hasChecked){
    return false
    error = true;
}

最新更新