提交表單是一個最常見的業(yè)務(wù)需求,比如用戶注冊,一些信息的輸入都是需要表單的提交。同樣的有時候開發(fā)者需要在表單提交的時候過濾一些的數(shù)據(jù)、做一些必要的操作(例如:驗證表單輸入的正確性,如果錯誤就阻止提交,從新輸入)此時可以通過submit事件,監(jiān)聽下提交表單的這個動作
使用上非常簡單,與基本事件參數(shù)處理保持一致
方法一:$ele.submit()
綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個事件,用的比較少
<div id="test">點擊觸發(fā)<div>
$("ele").submit(function(){
alert('觸發(fā)指定事件')
})
$("#text").click(function(){
$("ele").submit() //指定觸發(fā)事件
});
方法二:$ele.submit( handler(eventObject) )
綁定$ele元素,每次$ele元素觸發(fā)點擊操作會執(zhí)行回調(diào) handler函數(shù)
這樣可以針對事件的反饋做很多操作了
<form id="target" action="destination.html"> <input type="submit" value="Go" /> </form> $("#target").submit(function() { //綁定提交表單觸發(fā) //this指向 from元素 });
方法三:$ele.submit( [eventData ], handler(eventObject) )
使用與方法二一致,不過可以接受一個數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題
<form id="target" action="destination.html"> <input type="submit" value="Go" /> </form> $("#target").submit(11111,function(data) { //綁定提交表單觸發(fā) //data => 1111 //傳遞的data數(shù)據(jù) });
通過在<form>元素上綁定submit事件,開發(fā)者可以監(jiān)聽到用戶的提交表單的的行為
具體能觸發(fā)submit事件的行為:
上述這些操作下,都可以截獲submit事件。
這里需要特別注意:
form元素是有默認(rèn)提交表單的行為,如果通過submit處理的話,需要禁止瀏覽器的這個默認(rèn)行為 傳統(tǒng)的方式是調(diào)用事件對象 e.preventDefault() 來處理, jQuery中可以直接在函數(shù)中最后結(jié)尾return false即可
jQuery處理如下:
$("#target").submit(function(data) { return false; //阻止默認(rèn)行為,提交表單 });
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報