无法将表单提交为false

时间:2014-08-25 21:45:49

标签: javascript jquery html forms

所以我有一个表单,如果输入无效,我不会让表单像这样传递

$(".main-form").submit(function(e){
   return false;
});

这不会让表单通过。当用户正确完成所有内容时,我会尝试这样做

$(".main-form").submit(function(e){
   return true;
});

但由于某种原因,它始终保持false。任何解决方法?

2 个答案:

答案 0 :(得分:3)

您应该使用单个submit处理程序:

$(".main-form").submit() {
    if (...) {
        return true;
    } else {
        return false;
    }
}

其中...包含您的验证检查。实际代码可能稍微复杂一些,例如

    if (field1 is invalid) {
        return false;
    } else if (field2 is invalid) {
        return false;
    } 
        ...
    } else {
        return true;
    }

答案 1 :(得分:0)

你必须清除旧的处理程序,所以你要像这样初始化它:

$(".main-form").on('submit', function(e){
    return false;
});

然后更改处理程序:

$(".main-form").off('submit');
$(".main-form").on('submit', function(e){
   return true;
});