我在页面上有多个表单,我需要获取提交的表单的值,但不指定表单。
$(document).ready( function (){
$('form').submit( function(){
return submitForm()
});
});
并在.js文件中,submitForm()应标识提交的表单的ID。怎么办呢?
我得到了表格[0]的值,而不是点击的那个
答案 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/