开发者

jQuery get THIS form input

I am trying to get the values of multiple form inputs, but the problem is I have several identical forms on the same page and only want to get the inputs from the form that was submitted, so I am using the 'this' keyword. This is my code:

$(开发者_开发百科'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();

However, when I try to log the variables to test they're returning the wrong values, it says they are all undefined. What would be the right way to do this?

Thanks for any help :D


you can even use 'this' context

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


Need to see the HTML.

But, are they direct children of the form?
Or should you be using .find, instead of .children because they are nested lower?


Use .find() as Chad suggested.

$('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();

});


For later versions of jQuery. I'm using >3.0

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

I'm adding this because none of the other answers worked for me until I solved it myself. Hope it can also help you. Cheers

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜