我试图获取多个表单输入的值,但问题是我在同一页面上有几个相同的表单,只想从提交的表单中获取输入,所以我使用'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
答案 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();
我添加此内容是因为在我自己解决该问题之前,没有其他答案对我有用。希望它也能对您有所帮助。干杯