Получить идентификатор формы?
Я использую следующий код для присоединения события к кнопке отправки формы:
$('form.manage-users-form').on('click','button.special',function() {
if ($(this).hasClass('selected')){
console.log('This user is already special');
} else {
$(this).parent().find('button').removeClass('selected');
$(this).addClass('selected');
var user_id = $(this).closest("form[id]").val();
console.log('This user is now special');
console.log(user_id);
}
return false;
});
И вы можете видеть, что я также пытаюсь получить идентификатор формы, но когда я проверяю консоль, я получаю (an empty string)
. Почему это и как я могу получить идентификатор формы?
Ответы
Ответ 1
Вы пробовали?
var user_id = $(this).closest("form").attr('id');
Идентификатор элемента является атрибутом, вы можете извлечь любой атрибут (включая идентификатор), используя .attr().
.val() используется для извлечения значения элемента, что не имеет смысла в форме.
Дополнительная информация:
.val()
.attr()
Ответ 2
Попробуйте это вместо этого. Предполагая, что на странице есть единая форма.
var formid = $('form').attr('id');
Поможет тебе.
Ответ 3
. val() используется для получения значения элементов формы, а не атрибута.
Используйте . attr():
var user_id = $(this).closest("form[id]").attr('id');
Вы также можете извлечь DOMElement и использовать чистый javascript для получения идентификатора:
var user_id = $(this).closest("form[id]")[0].id;
Ответ 4
Попробуйте следующее:
var user_id = $(this).closest("form").attr("id");
Вернется с редактированием, как только я проведу это.