JQuery получить эту форму ввода - PullRequest
6 голосов
/ 12 августа 2010

Я пытаюсь получить значения для нескольких входов в форму, но проблема в том, что у меня есть несколько идентичных форм на одной странице, и я хочу получить входные данные только из формы, которая была отправлена, поэтому я использую '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 ]

7 голосов
/ 12 августа 2010

Нужно видеть HTML.

Но являются ли они прямыми дочерними элементами формы?
Или вы должны использовать .find вместо .children, потому что они вложены ниже?

6 голосов
/ 12 августа 2010

вы можете даже использовать этот контекст

var fname = $('input.fname', this).val();
2 голосов
/ 12 августа 2010

Используйте .find (), как предложил Чад.

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

});
0 голосов
/ 05 августа 2018

Для более поздних версий jQuery.Я использую> 3.0

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

Я добавляю это, потому что ни один из других ответов не работал для меня, пока я не решил это сам.Надеюсь, это также поможет вам.Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...