jQuery получить ЭТО форму ввода

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

6
задан Becky 13 August 2010 в 14:51
поделиться

3 ответа

Нужно посмотреть HTML.

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

7
ответ дан 8 December 2019 в 15:58
поделиться

Используйте .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();

});
2
ответ дан 8 December 2019 в 15:58
поделиться

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

var fname = $('input.fname', this).val();
7
ответ дан 8 December 2019 в 15:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: