@olchagmk

Как засунуть обработчик в цикл?

Доброй ночи, есть обработчик формы, форм на странице штук 10, не вариант на каждую писать свой обработчик. Обрабатывает только 1-ю форму из массива. Подскажите пожалуйста, как правильно засунуть в цикл?
Код:
$(function() {
  document.querySelector('form').addEventListener('submit', function(evt){
    var http = new XMLHttpRequest(), f = this;
    var th = $(this);
    evt.preventDefault();
    http.open("POST", "contact.php", true);
    http.onreadystatechange = function() {
      if (http.readyState == 4 && http.status == 200) {
        $('#thxModal').modal('show');
        if (http.responseText.indexOf(f.phone.value) == 0) { // очистить поля формы, если в ответе первым словом будет имя отправителя (nameFF)
          th.trigger("reset");
        }
      }
    }
    http.onerror = function() {
      alert('Ошибка, попробуйте еще раз');
    }
    http.send(new FormData(f));
  }, false);
 
});
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
HardBot
@HardBot
back-end, front-end developer
Получаешь все формы на странице, отслеживашь по какой форме клик, получаешь данные (если нужно) и отправляешь запрос.
document.querySelectorAll('form').forEach(form => {
   form.addEventListener('submit', event => {
      // XMLHttpRequest
   })
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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