返回false不会在表单的提交方法中生效

时间:2012-09-05 10:34:49

标签: ajax javascript-events

返回false不会在表单的提交方法中生效。

这样的方法:

function success() {
    //some validation logic
    $.ajax(); // ajax call
    return false;
}

谁能告诉我原因?为什么不起作用? 非常感谢你的帮助。

3 个答案:

答案 0 :(得分:0)

您的表单的“onsubmit”方法必须返回false才能停止提交,您显示的内容是从其他某个函数返回。

答案 1 :(得分:0)

在这种情况下,你需要纠正两件事。使用<form>值更新onsubmit代码的return false;事件,甚至更好,给出主要操作:

一个。 form代码:

<form method="" action="" onsubmit="runExport(); return false;">

B中。 input代码:

<input type="submit" id="export" value="${appResources.report_common_label_generateReport}" onclick="return runExport();" />

为什么我们使用return false;

原因是阻止将表单内容提交到action目标的默认操作。因此,我们通过返回一个停止传播的false值来防止它这样做。而且,在此之前,我们正在进行JavaScript调用,以便它完成我们的工作,而不是默认的工作。 :)

答案 2 :(得分:0)

你能告诉你什么时候想要回复假吗?

据我了解是

<script type="text/javascript">
function validateData(){
    var flag=0;
    //Your validation logic here
    //If validation is not proper then flag=1; else flag=0;
    if(document.getElementById("text1").value==""){
        flag=1;
    }

    if(flag==1){
        return false;
    } else {
        $.ajax({
            success: function(data){

            }
        });
    }
}
</script>

<form name="abc" id="abc" onsubmit="javascript:return validateData()">
    <input type="text" name="text1" id="text1"/>
    <input type="submit" name="sub"/>
</form>