jquery提交奇怪的行为

时间:2011-08-10 00:08:41

标签: jquery submit

为什么如果我在提交函数中放入一些带有“if”的代码,那么方法(显然)总是返回一个true并提交表单?

例如

    var test = "test";

    $("#contact_form").submit(function(){

            if (test == "random"){

            }



            return false;

    });

无论何时,无论是否使用任何代码,我都会提交if。

2 个答案:

答案 0 :(得分:1)

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

        if (test === "random"){

        }
});

在运行任何代码之前停止默认操作。并且,添加===。它也会检查类型。

答案 1 :(得分:0)

这取决于你在if块中写的代码。如果您错误地写回true或者有任何js错误,那么它将提交表单。如果您在提交表单时尝试进行任何ajax调用,请在提交处理程序中阻止默认表单提交。这和返回false一样好。

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