Javascript 如何检查表单中是否至少选中了一个复选框?
我有4个复选框字段的表单。为了让用户处理表单,他们必须选中至少一个复选框。如果未选中任何复选框,则用户将收到有关此错误的消息。我有一个提交功能,我想验证这个标准。但是,我的功能如下:Javascript 如何检查表单中是否至少选中了一个复选框?,javascript,jquery,Javascript,Jquery,我有4个复选框字段的表单。为了让用户处理表单,他们必须选中至少一个复选框。如果未选中任何复选框,则用户将收到有关此错误的消息。我有一个提交功能,我想验证这个标准。但是,我的功能如下: $(document).on('submit', '#myFrm', saveFrm); function saveFrm(e) { e.preventDefault(); var frmData = $(this).serialize(), submitBtn = $(this).
$(document).on('submit', '#myFrm', saveFrm);
function saveFrm(e) {
e.preventDefault();
var frmData = $(this).serialize(),
submitBtn = $(this).closest('form').find(':submit'),
messageBox = $(this).closest('form').find('.message-submit'),
ckLen = $('#myFrm input[type=checkbox]:checked');
if(ckLen === 0){
alert('At least on checkbox has to be checked.');
}else{
// Save form
}
}
上面的代码应该可以正常工作,但我想知道的是这行代码:
ckLen = $('#myFrm input[type=checkbox]:checked');
有没有办法用$this代替硬编码的表单id 您可以在$this上使用。还必须从对象中获取长度属性,以使条件正常工作:
ckLen = $(this).find('input[type=checkbox]:checked').length;
您已经找到了提交按钮和消息框。。。。。不知道有什么不同