我刚刚在Google Chrome中使用简单的复选框验证了表单验证问题:
$("#index_form").submit(function(event) {
var device = $("select[name=device]").val();
var agree = $("input[name=agree]").checked;
if (device==0) {
$("#device").html(" <b style='color:red'>You must enter a device!</b>");
event.preventDefault();
}
if (!agree) {
alert("You must agree to the terms and conditions!");
event.preventDefault();
}
});
在Chrome中,alert
消息会一直显示,无论是否已选中。在Safari中,它很好。我重置了Chrome,甚至在两台不同的计算机上试过它,问题仍然存在。该复选框位于table
内,included
具有php
功能。包括select
元素在内的所有其他验证代码都运行良好。我可以继续工作的唯一方法是禁用导致问题的代码行。
答案 0 :(得分:3)
checked
是一个DOM元素属性,而不是jQuery属性。所以请改用:
var agree = $("input[name=agree]").prop('checked');