Я пытаюсь получить значения нескольких входных данных формы, но проблема в том, что у меня есть несколько идентичных форм на одной странице, и я хочу получить входные данные только из формы, которая была отправлена, поэтому я использую ключевое слово 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
Нужно посмотреть HTML.
Но являются ли они прямыми дочерними элементами формы?
Или вы должны использовать .find
, вместо .children
, потому что они вложены ниже?
Используйте .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();
});
вы даже можете использовать контекст 'this'
var fname = $('input.fname', this).val();