2015-10-19 67 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/

相關問題