@MegaPuxapb

Почему не срабатывает эффект после отправки формы?

Код:
$("form").each(function() {
    $(this).submit(function() {
            var action = $(this).attr('action');
            $.ajax({
                url: action,
                type: 'POST',
                data: {    
                    contactemail: $(this).find('input[type=email]').val()
                },
                success: function() {
                	$(this).closest(".section").find(".bg_form_submit").slideToggle("slow");
                	alert ("1");
                	$('form').trigger('reset');
                },
                error: function() {
                    alert ("0");
                }
            });
       return false;
    });
});


alert ("1") - при отправке выскакивает.
slideToggle - отдельно работает (проверил). После отправки формы, не срабатывает.
Как починить?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
$("form").each(function(i, el) {
  $(el).submit(function() {
    let $that = $(this); // var $that = $(this);  - для ES5
    $.ajax({
      url: $that.attr('action'),
      type: 'POST',
      data: {
        contactemail: $that.find('input[type=email]').val()
      },
      success: function() {
        $that.closest(".section").find(".bg_form_submit").slideToggle("slow");
        alert("1");
        $('form').trigger('reset');
      },
      error: function() {
        alert("0");
      }
    });
    return false;
  });
});


P.S. Что-то мне подсказывает, что цикл тут вообще не нужен. У вас ведь одна форма на странице?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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