@Minusator

Как обрабатывать форму по id?

Добрый вечер!

Имею форму
<form id="myform" action="mail.php" method="post">
            <div class="input-block">
			<div class="input-img input-img1"></div>
			<input name="name" class="required" type="text" placeholder="Введите Ваше имя">
			</div>
            <div class="input-block">
			<div class="input-img input-img2"></div>
			<input name="phone" class="phoneform required" type="text" placeholder="Введите Ваш телефон">
			</div>
			
            <button class="btn btn-transparent">Заказать звонок</button>
           <p class="msgs"></p>
        </form>

Если обработчик формы JS такой, то все работает
$('form').each(function() {
    var $form = $(this);
	$form.validate({
      submitHandler: function() {
        $.ajax({
          type: $form.attr('method'),
          url: $form.attr('action'),
         data: $form.serialize()
        }).done(function() {
         
        
		$('.msgs').text('Благодарю за обращение! Ожидайте звонка');
		setTimeout(function(){
                $('.msgs').css("display","none");
                
                
              }, 3000);
		
        }).fail(function() {
          location.href = "#mail-fail";
        });
        $form.find("input[type='text']").val('');
        return false;
      }
    });
  });

Но если я хочу находить и обрабатывать по id формы
$('#myform').each(function() {});
То код не срабатывает. Как сделать чтобы код работал по id формы?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
l3ftoverz
@l3ftoverz Куратор тега JavaScript
Dance Gavin Dance - Inspire The Liars
Никак. Вернее не использовать ID.
Ты смотрел в консоль браузера? Обычно он любезно подсказывает, что на странице несколько элементов с одинаковым ID, но по спецификации на странице не может быть несколько элементов с одинаковым ID, смекаешь?

Итерируй формы по классу. А лучше вообще делегируй обработку формы один раз.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Tim-A-2020
@Tim-A-2020
Помог? Отметь решением
В чем именно проблема? Пример:
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы