如果未使用以下代码选中复选框,我正在尝试阻止表单验证:
<script>
$(function() {
$("#form").submit(function(e) {
console.log("test1");
if(!$('input[type="checkbox"]:checked')) {
alert("Check the checkbox or you will die.");
return false;
}
console.log("test2");
return true;
});
});
</script>
我不知道为什么我的死亡威胁不会出现。
console.log(test1)
正在发挥作用。以及test2
。
请你指点一下,以便看出我的错误?
答案 0 :(得分:2)
替换:
!$('input[type="checkbox"]:checked')
使用:
$("input:checked").length === 0
这样您就可以验证DOM中至少检查了一个输入。我强烈建议使用ID或CLASS来缩小验证范围。
答案 1 :(得分:0)
jQuery选择器返回一个集合,而不是true/false
。您需要测试集合的大小:
if ($(':checkbox:checked').length = 0) {
alert("Check the checkbox or you will diet.");
return false;
}