如何阻止表单提交进入循环?

时间:2015-08-15 04:51:28

标签: javascript jquery

这是目前的情况,代码是自我解释的。

表格Html

<form id="register" action="example.com/signup" method="post" accept-charset="utf-8" enctype="multipart/form-data">
    <input id="email" type="email" name="email">
    <label for="email">Email</label><br />

    <input id="password" type="password" name="password">
    <label for="password">Password</label>

    <button type="submit" name="register" id="submit" value="Submit">Submit</button>
</form>

的Javascript

$('#register').submit(function(event){

event.stopPropagation();
event.preventDefault(); 

alert('fff');

if(condition)
{
    $(this).submit();
}
else
{
    //dostuff
    if(condition)
    {
        //dostuff
        return;
    }
    else
    {
        $(this).submit();
    }
}

});

但表单提交进入循环,我该如何防止它发生?

1 个答案:

答案 0 :(得分:4)

您目前拥有的这段代码将再次启动您的提交回调

$(this).submit();

您不希望如此 - 如果您想继续提交,则只需return true;;如果您不想,则return false;

此外,您需要此部分

event.stopPropagation();
event.preventDefault();