我在提交处理程序方面遇到了困难...... 当表单字段留空时,为什么以下仍然提交表单?
$("form").submit(function() {
$(".required").each(function() { //check each instance with class of 'required'.
if ($(this).val() == "") { //if field left blank,
return false; //halt / prevent form submission.
}
//else ..
return true; //all is ok, proceed.
});
});
答案 0 :(得分:3)
因为您的return true;
将针对任何非空字段执行,从而阻止代码检查所有字段。此外,您只返回内部函数,而不是提交处理程序。你应该改写成这样的东西:
$("form").submit(function() {
isValid = true;
$(".required").each(function() { //check each instance with class of 'required'.
if ($(this).val() == "") { //if field left blank,
isValid = false;
}
});
return isValid; //all is ok, proceed.
});
答案 1 :(得分:0)
快速回答:我认为这是因为您的return false
嵌套在$.each
函数中。