jquery获取表单值,多个表单

时间:2010-07-21 15:22:08

标签: jquery forms

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

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

});

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

我得到了表格[0]的值,而不是点击的那个

2 个答案:

答案 0 :(得分:4)

不确定submitForm()是做什么的,但我认为你在某种程度上使用了this

如果是,请尝试:

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

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

因此,在submitForm()中,您可以使用this或使用$(this)在jQuery对象中引用正确的表单。


修改

以下是我的意思:http://jsfiddle.net/pXwTE/

答案 1 :(得分: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/