jQuery获取表单值,多个表单

3

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

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

});

在.js文件中,submitForm()应该识别被提交的表单的id。怎么做呢?
我获取了表单[0]的值,而不是点击的那个。
2个回答

4

我不确定 submitForm() 做了什么,但我猜测你在其中以某种方式使用了 this

如果是这样,请尝试:

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

以这种方式操作应该会将被点击的表单上下文发送到submitForm()调用中。
因此,在submitForm()中,您可以使用this引用正确的表单,或者在jQuery对象中使用$(this)
编辑: 以下是我所说的示例:http://jsfiddle.net/pXwTE/

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/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接