2014-12-07 132 views
8

如何保留默認的HTML表單驗證並禁止表單提交?我曾嘗試使用event.preventDefault()return false。兩人都能成功阻止提交表單,但都無法通過表單驗證。我也試過this solution,但即使這樣也行不通。防止表單提交但保留表單驗證

有人能幫助我嗎?

回答

8

event.preventDefault()並返回false;如果用於表單提交,則工作。 html5驗證仍然存在。

http://jsfiddle.net/axax06/srn3znxj/2/

HTML:

<form action="" method="post"> 
    <input id="name" type="text" required="required" /> 
    <input id="email" type="email" required="required" /> 
    <input type="submit" id="btnSubmit" /> 
</form> 

JS:

jQuery("form").submit(function(e){ 
    e.preventDefault(); 
    //or 
    //return false; 
}); 
+0

注意,從一個jQuery事件中返回'FALSE'將*也*調用一個隱含的'event.stopProgagation()' 。從非jQuery事件中它只會觸發'event.preventDefault()'。所以你給出的兩種方法有不同的結果。看到這裏:https://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false – Jason 2017-08-06 00:27:02