jQuery获取此表单输入

时间:2010-08-12 14:06:09

标签: javascript jquery forms

我试图获取多个表单输入的值,但问题是我在同一页面上有几个相同的表单,只想从提交的表单中获取输入,所以我使用'this'关键词。这是我的代码:

$('form.contact_form').submit(function(e) {
    var fname = $(this).children('input.fname').val();
    var email = $(this).children('input.email').val();
    var comment = $(this).children('input.comment').val();

但是,当我尝试记录变量以测试它们返回错误的值时,它表示它们都是未定义的。什么是正确的方法呢?

感谢您的帮助:D

4 个答案:

答案 0 :(得分:7)

需要查看HTML。

但是,他们是这种形式的直接孩子吗? 或者您应该使用.find而不是.children,因为它们嵌套在较低的位置?

答案 1 :(得分:5)

你甚至可以使用'this'上下文

var fname = $('input.fname', this).val();

答案 2 :(得分:2)

使用.find()作为Chad的建议。

$('form.contact_form').submit(function(e) {
    var $this = $(this);
    var fname = $this.find('input.fname').val();
    var email = $this.find('input.email').val();
    var comment = $this.find('input.comment').val();

});

答案 3 :(得分:-1)

对于jQuery的更高版本。我正在使用> 3.0

var fname = $(this,''input.fname'').val();

我添加此内容是因为在我自己解决该问题之前,没有其他答案对我有用。希望它也能对您有所帮助。干杯