2015-10-19 71 views
0

我简化了我的代码以减少无关信息,但是与更复杂的版本一样,我也遇到了与简化代码相同的问题。我有一个这样的形式:jQuery .submit()在表单提交时没有被调用

<form id="password_reset_form" action="script_reset_password.php" method="POST"> 
    <input type="submit" value="Set Password" class="button-inactive" /> 
</form> 

和jQuery这样的代码:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#password_reset_form").submit(function(){ 
      alert("form submit attempted"); 
      event.preventDefault(); 
     } 
    }); 
</script> 

但jQuery的.submit()不会被调用。目标是防止表单提交并在满足特定条件时显示错误消息,但我的问题是,为什么在点击<input type="submit" />时不调用.submit()

+1

你提交的功能代码缺少一个右')' – j08691

+0

变化'}''到});' - 你必须看到一个语法错误。开发工具是你的朋友,不要让他们冷眼旁观。 :-) – PeterKA

回答

5

您需要在回调函数中捕获event

$(document).ready(function(){ 
    $("#password_reset_form").submit(function(e){ 
     alert("form submit attempted"); 
     e.preventDefault(); 
    }); 
}); 
+0

然后用');关闭事件绑定。 – PeterKA

+1

对我来说,没有它就可以正常工作(尽管我同意它属于那里)。 http://jsfiddle.net/j08691/mpbtd4cz/ – j08691

+0

@ j08691很高兴知道'事件'在范围中定义,即使它*没有定义* ... – DontVoteMeDown

2

您的代码中有语法错误,准备好的文档需要关闭。

$(document).ready(function(){ 
     $("#password_reset_form").submit(function(evt){ 
      alert("form submit attempted"); 
      evt.preventDefault(); 
     }); 
}); 

https://jsfiddle.net/h19bk8ft/2/

相关问题