2009-11-07 45 views
1

我對jQuery有點問題: 我在表單上定義了.submit(),當我通過單擊提交按鈕提交表單時,偶數觸發器和事情工作順利,但是,何時我使用document.forms[0].submit(),事件不會被觸發,但表單提交!有什麼理由?我如何克服這一點?jQuery .submit問題

+0

重複 http://stackoverflow.com/questions/645555/should-jquerys-form-submit-not-trigger-onsubmit-within-the-form-tag – silent 2009-11-07 12:47:49

回答

5

這只是它的工作方式 - 調用本地.submit()不會觸發的JavaScript事件處理程序。

使用jQuery的.submit()代替:

$('form:first').submit(); 
-1

這聽起來很奇怪,但爲什麼你在使用jQuery的時候甚至使用了document.forms[0].submit()

簡單(?也許愚蠢的)建議:不要使用document.forms[0].submit()使用這個代替

$("#hereidofyourform").submit() 
1

如果提交表單被命名爲這樣

<form method="POST" id="the_waffle_form"> 

然後你就可以這樣提交。

$("#the_waffle_form").submit(); 

查看documentation瞭解更多優秀示例。

0

我們這裏有一些人被迫使用遺留系統的代碼。這些系統不符合規定,在我的情況下等待升級。但是,當成千上萬的人使用該系統時,無法進入並將代碼更改爲基線包。所以,我們不得不尋找解決方法。在我的情況下,表格沒有ID或名稱,所以使用document.forms[0].submit()是唯一的選擇之一。

+0

這並不回答這個問題! – Mac 2012-12-06 00:47:09