这是目前的情况,代码是不言自明的。
表单 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)
但是表单提交进入循环,我该如何防止它发生?
您当前拥有的这段代码将再次启动您的提交回调
$(this).submit();
Run Code Online (Sandbox Code Playgroud)
您不希望这样 - 您只想return true;继续提交或return false;不继续提交。
另外,你不需要这部分
event.stopPropagation();
event.preventDefault();
Run Code Online (Sandbox Code Playgroud)