2013-03-07 70 views
3

jQuery的on('submit', ...)正確地拿起原始表單提交即當按鈕被按下提交,但它並沒有發揮好與JS表單提交,至少在FF & IE聽所有的表單提交事件

隨着在介意,如何才能正確添加提交監聽器?修改DOM原型通過改變HTMLFormElement.prototype.submit行爲不會對IE7

工作

fiddled

+2

原生js'.submit()不觸發onsubmit處理程序的原因很有原因 - 即您可以(並且經常會)非常容易地形成遞歸處理程序提交處理程序的無限遞歸,提交....如果你需要從js運行一個表單的處理程序,然後使用例如'$(「#myform」)。trigger('submit')'。 – 2013-03-07 00:45:31

+0

@ Beetroot-Beetroot:哦,這很明顯,現在你已經提到了它:)謝謝,這很有道理 – 2013-03-07 00:47:28

+0

根據你正在嘗試做什麼,你有時可以抓住'window.onpageunload'做一些基本的清理。 – 2013-03-07 04:53:29

回答

0

使用jQuery .submit()提交表單會照顧的問題。

$('#someForm').submit(); 

jsFiddle Demo

當然也不會太大幫助,如果你真的堅持使用本地DOM .submit()