在做一些表單的時候,驗證放在form表單里去做,非常便捷,
在form里加上<button type="submit>提交</button>,利用jquery 的validate插件可以對要提交的信息,做非空、
長度驗證、手機號、郵箱等驗證。
剛開始的時候,我的項目里的提交是綁定給div的一個事件,新增功能調用ajax一切正常,后來為了做非空驗證,改用form
表單提交,這時候問題出現了,新增功能不能用了,只能走到ajax成功方法那一步,成功下面的if,else,以及接着成功后if判斷里
對另一個ajax的調用也沒有走到,郁悶之余,網上找到了解決方法,記得給submit一個函數返回值
解決方法:
情況一:阻止表單默認提交,很簡單 form表單里加一句代碼<button type="submit onclick="return false">提交</button>
情況二:采用ajax提交,在ajax提交驗證通過后,return 一個返回值
具體原理參照krismile__qh博主的form表單內的數據在submit時會默認提交,阻止form表單提交 的文章
---------------------------------------------以下為轉載krismile__qh博主的文章------------------------------------------------
form表單內的數據,在點擊submit按鈕時,即便沒有寫action的請求地址,也會默認提交到一個請求地址,這個請求地址是當前訪問的網址。(form表單的數據不submit,可能是通過ajax的方式提交)
怎么解決這個默認提交呢?
1. 在form表單內的提交按鈕<button>處添加屬性οnclick="return false",點擊按鈕時就不會再提交了。因為這個請求就是通過onclick事件提交的。
2. 原理同1,如果使用ajax的方式提交form表單的數據,寫一個點擊觸發的函數,其返回值為false。即οnclick="submitForAjax()".
例如: