表单提交上的错误允许提交

时间:2017-05-02 12:30:08

标签: javascript jquery html forms

我有一个用HTML定义的表单,可以使用提交按钮提交。

我还有一个jquery处理程序,其中有一个非现有对象的记录器。

$("#myform").submit(function() {
    console.log(nosuchobject);
    return false;
});

使用记录器,提交表单并更改浏览器页面。但是没有记录器,表单就不会提交。

我的猜测是,当记录器中出现错误时,返回的值不是false。但这是真的吗?为什么错误允许提交表单呢?

3 个答案:

答案 0 :(得分:2)

在您的记录器代码中,您打印的是变量而不是字符串。只需使用以下内容更新您的代码

$("#myform").submit(function() {
    console.log('nosuchobject');
    return false;
});

答案 1 :(得分:1)

使用preventDefault来阻止表单提交:

$("#myform").submit(function(e) {
    e.preventDefault();
});

答案 2 :(得分:0)

如果在submit函数中遇到js错误,则错误后的代码将不会被执行,这意味着它不会返回false。您可以在功能开始时阻止表单提交,如下所示:

$("#myform").submit(function(event) {
    event.preventDefault();
    // it does not matter if there is an error now.
    console.log(nosuchobject);
});

您仍然应该编写代码,以便它可以正常运行。