慕后森
2023-04-04 14:10:26
為了用ajax處理表單,用javascript阻止表單提交,但同時支持html5 的瀏覽器內(nèi)置表單驗證也不起作用。這樣還是得用javascript來寫驗證,結(jié)果在這種情況下html5 表單的新特性等于沒用了?
3 回答

慕斯王
TA貢獻(xiàn)1864條經(jīng)驗 獲得超2個贊
不要用click去阻止表單提交。這樣既阻止了form表單提交的跳轉(zhuǎn),又保留了HTML5表單的驗證。
$("form").submit(function(){ //這里是要執(zhí)行的代碼 event.preventDefault(); });

慕哥9229398
TA貢獻(xiàn)1877條經(jīng)驗 獲得超6個贊
應(yīng)該是javascript代碼里阻止了submit按鈕的默認(rèn)事件,所以瀏覽器忽略了點擊事件的觸發(fā),沒有驗證。
可以不阻止默認(rèn)事件,但是覆蓋一下onsubmit
方法,在onsubmit的handler里阻止默認(rèn)事件,當(dāng)瀏覽器調(diào)用submit事件時,在函數(shù)里去調(diào)用ajax異步提交,這樣如果沒通過驗證的話,是不會調(diào)用submit事件的,不知可行否?總之讓瀏覽器先驗證,再提交。

森欄
TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊
想保留html5特性,又要用ajax提交,可以這樣:提交按鈕不要用<input type="submit">,可以換成button的click事件提交
添加回答
舉報
0/150
提交
取消