2013-03-23 50 views
0

我有一個表格如何與jQuery提交的javascript onSubmit匹配?

<form id="add_list_form"> 
    ... 
</form> 

然後使用jQuery我可以這樣做:

$("#add_list_form").submit(function(){ 
    $(this).serializeArray() 
}); 

,這會工作。

,但如果我使用onSubmit

<form onsubmit="addListForm(event);"> 
    ... 
</form> 

function addListForm(e) 
{ 
    $(this).serializeArray() 
} 

它似乎沒有工作,在我的情況,我得到系列化從我的頁面巫一些其他形式我認爲這是一個錯誤

任何想法如何我可以完成像jQuery submit事件一樣的效果嗎?

+1

什麼第一個做的問題 辦法? – 2013-03-23 04:41:43

+0

不是100%肯定,但你不是想複製你寫這個事件的方式嗎?所以它應該是'addListForm(event)'在我假設的代碼的兩個位? – EasyBB 2013-03-23 04:41:59

+0

@MattBall,有一些硬件按鈕,似乎不喜歡jquery submit – Patrioticcow 2013-03-23 04:43:24

回答

3

使用onsubmmit無法訪問this,通過使用this源對象(form)到addListForm

<form onsubmit="addListForm(this, event);"> 
    ... 
</form> 

function addListForm(form, e) 
{ 
    $(form).serializeArray() 
} 
+0

成功,謝謝 – Patrioticcow 2013-03-23 04:48:58

+0

不客氣。 – Adil 2013-03-23 04:53:33

1

你沒有通過FORM object裏面function那麼$(this)將如何得到所需FORM

嘗試

<form onsubmit="addListForm(this.form);"> 
    ... 
</form> 

function addListForm(form) 
{ 
    $(form).serializeArray() 
} 

您發送內部function不止一個argument

0

試試這個...

<form onsubmit="addListForm(this);"> 
     ... 
    </form> 

<form action="addListForm(this);"> 
      ... 
     </form>