Как определить ID элемента при клике?

V
На сайте с 03.09.2013
Offline
16
3331

На сайте в цикле выводятся несколько форм, и для проверки форм используется jquery validator. Из-за одинаковых ID скрипт по проверке полей не работает. Задаю для каждой формы в цикле уникальный ID, и теперь вопрос возник. Допустим, у меня 2 формы с id="form1" и id="form2", a в скрипте по проверке форм прописана проверка для поля id="form". В скрипте вручную задать проверку для каждого поля не могу, так как впоследствии полей может быть несколько сотен. Как можно определить ID формы при клике на кнопку <button></button> и прикрутить номер формы в скрипте?

Лучшая инфопродуктовая CPA-сетка. Развернутая система e-mail-маркетинга,
дополнительных продаж, стабильных выплат, серьезной статистики. (http://goo.gl/q3slj8)
siv1987
На сайте с 02.04.2009
Offline
427
#1

I. Делегированием


$('form').click(function(e){
var elem = e.target;
if(elem.tagName == 'BUTTON'){
alert(elem);
}
});

II. Перебором


$('#mybutton').click(function(){
var parent;
while(parent = $(this).parent()[0]){
if(parent.tagName == 'FORM')
break;
}
alert(parent);
});


---------- Добавлено 12.04.2014 в 22:40 ----------

II. Form element


$('#mybutton').click(function(){
var form = this.form;
alert(form);
});
V
На сайте с 03.09.2013
Offline
16
#2

Как можно определить не ID формы, а допустим ID кнопки, по которой происходил клик? Я уже всё перепробовал, у меня почему-то вообще не срабатывает событие при клике на кнопку. Как правильно прописать скрипт?

UPD: отбой тревоги. Разобрался.

speed-core
На сайте с 30.03.2014
Offline
33
#3
$(this)

Значит выбранный элемент, ну и узнавай, да хоть ксс его вытаскивай

типа:

$(this).css('display')

или твой случай

$(this).attr('id')

Как Вариант Jquery - по клику, только не забываем про то что работает с DOM


$(document).ready(function(){
$('.name_class').on('click', function () {
var id = $(this).attr('id');
return false;
});
});
HOST-PROTECTION (/ru/forum/848747), профессиональный web хостинг, гарантия стабильности, защита от DDoS.
Sly32
На сайте с 29.03.2012
Offline
303
#4

Поделился бы решением...

siv1987
На сайте с 02.04.2009
Offline
427
#5

Sly32, выше есть сразу три. Вам вообще что нужно то?

ishipilov
На сайте с 25.12.2011
Offline
101
#6
vptbps:
Как можно определить ID формы при клике на кнопку <button></button> и прикрутить номер формы в скрипте?

попробуйте такой вариант:

$('button').click(function(){

butid = $(this).parent().attr('id');
alert(butid);
});

только баттон должен быть дочерним от form. Если он внутри дива или другого элемента - то еще добавить parent()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий