2010-07-21 105 views
3

我在頁面上有多個表單,我需要獲取提交表單的值,但沒有指定表單。jquery獲取表單值,多個表單

$(document).ready(function(){ 
$('form').submit(function(){ 
     return submitForm() 
}); 

}); 

而在.js文件中,submitForm()應該標識提交表單的ID。如何做到這一點?

我得到的形式[0],而不是點擊

回答

4

不知道什麼submitForm()做了一個的值,但我假設你以某種方式使用它this

如果是這樣,請嘗試:

$('form').submit(function(){ 
     return submitForm.call(this); 
}); 

這樣做,這樣應該發送被點擊的submitForm()呼叫形式的情況下。

因此,在submitForm()中,您可以使用this或在使用$(this)的jQuery對象中引用正確的表單。


編輯:

這裏是我的意思的例子:http://jsfiddle.net/pXwTE/

+0

感謝隊友這個工作就像一個魅力 – 2010-07-21 15:50:49

+0

@Dr卡斯帕- 別客氣。 :o) – user113716 2010-07-21 15:54:16

+0

這對我來說非常合適 – NZSteve 2017-01-19 03:50:53

1

您可以將每個表單的id傳遞給你的submitForm功能是這樣的:

$j(document).ready(function(){ 
    $j('form').submit(function(){ 
     return submitForm($j(this).attr('id')); 
    }); 

}); 

要獲得所有的值,取決於你需要用它們做什麼,你可以像這樣使用序列化:

$j(document).ready(function(){ 
    $j('form').submit(function(){ 
     alert($j(this).serialize()); 
    }); 
}); 

,或者你可以遍歷所有的表單的輸入,像這樣:

$j(document).ready(function(){ 
    $j('form').submit(function(){ 
     $j(':input', this).each(function(){ 
      alert($j(this).val()); 
     }); 
    }); 
}); 

我創造了這樣一個小提琴:http://jsfiddle.net/2HRjF/1/