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