jquery获取表单值,多个表单

我在页面上有多个表单,我需要获取提交的表单的值,但不指定表单。

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

在.js文件中,submitForm()应标识提交的表单的ID。 怎么办呢?

我得到表单[0]的值,而不是单击的值

不确定submitForm()作用,但我假设你在某种程度上使用它。

如果是这样,请尝试:

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

这样做应该将单击的表单的上下文发送到submitForm()调用。

所以在submitForm()你可以使用this来引用正确的表单,或者在使用$(this)的jQuery对象中引用。


编辑:

这是我的意思的一个例子: http : //jsfiddle.net/pXwTE/

您可以将每个表单的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/