jquery表单验证

时间:2011-05-09 19:12:07

标签: jquery jquery-validate

我在提交处理程序方面遇到了困难...... 当表单字段留空时,为什么以下仍然提交表单?

$("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.
});

});

2 个答案:

答案 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函数中。