2010-07-21 99 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/