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

Stu*_*ntX 2 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>
Run Code Online (Sandbox Code Playgroud)

JavaScript

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

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

alert('fff');

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

});
Run Code Online (Sandbox Code Playgroud)

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

pot*_*ngs 6

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

$(this).submit();
Run Code Online (Sandbox Code Playgroud)

您不希望这样 - 您只想return true;继续提交或return false;不继续提交。


另外,你不需要这部分

event.stopPropagation();
event.preventDefault();
Run Code Online (Sandbox Code Playgroud)