Событие jQuery, не прикрепленное к полю ввода

#javascript #jquery

Вопрос:

У меня есть поле под названием cellphoneDetails, я пытаюсь прикрепить к нему недопустимое событие, но оно не прикрепляет к нему событие

 $(document).ready(function(e) {  var x = document.getElementById("contactEditForm");   if (x.addEventListener) {  var error = 0;  alert('bingo');  x.addEventListener("submit", function(e) {  alert('test test');  $("##CellphoneDetails").on("invalid", function() {  alert($(this).val());  error = 1;  if ($(this).val() != '') {  $(this).focus();  $("##cellValidDetails").css('display', 'block');  }  });  }  }  }); 

в HTML добавлен шаблон, который проверяет, введено ли значение, это должен быть действительный номер мобильного телефона, иначе, если он пустой, не проверяйте его и двигайтесь дальше

но из-за какой-то проблемы событие не привязывается к вызову отправки и создает беспорядок

Комментарии:

1. Вы добавляете прослушиватель событий, который добавляет прослушиватель событий, когда запускается событие, которое он прослушивает. Это редко бывает правильным поступком. Кроме того, в ваших селекторах есть два # символа, что неверно.

2. так каково же решение этой проблемы

3. Не добавляйте прослушиватель событий в прослушиватель событий. Добавьте прослушиватель событий «недопустимый» за пределами «отправить». Используйте один # символ.

Ответ №1:

Первое , что я заметил , это то, что это должно быть $("#CellphoneDetails") , а не $("##CellphoneDetails") , и $("#cellValidDetails") вместо $("##cellValidDetails") этого .

Для определения цели и идентификации вам нужен только один # .

Кроме того, я считаю (x.addEventListener) , что это всегда будет неопределенным.

У вас есть сочетание JS и jQuery, я бы посоветовал просто использовать один или другой в первую очередь.

Комментарии:

1. это опечатка, потому что я использую серверную часть, поэтому всегда использую один #

2. я готов измениться, пожалуйста, направь меня

3. ХОРОШО! Я посмотрю на это поближе, когда смогу. Какова цель/цель/причина этого if заявления? if (x.addEventListener)