Как спрятать форму после отправки?

Все привет.

Проблема с сокрытием формы после успешной отправки.
Есть форма письма в popup и js к ней.
Что делает js.
При успешной отправке скрывает заголовок и на его место выводит сообщение об успешной отправке, но не скрывает форму.
При ошибки отправки, скрывает заголовок на его место выводит сообщение об ошибке и так же не скрывает форму.

Добавила скрытие формы при успешной отправке, добавлением display:none. Но проблема в том что и при ошибке он ее тоже скрывает...Добавила display: block при ошибке, но все равно идет только none.... подскажите решение плиз, что тут у меня не так

код формы
<div class="remodal" data-remodal-id="secondModal" data-remodal-options="hashTracking: false,closeOnConfirm: false">
  <button data-remodal-action="close" class="remodal-close"></button>
  <div class="formArea">
  
  <form id="secondForm" class="form" autocomplete="off">
  <p class="msgs"></p>

      <fieldset class="form-fieldset ui-input __first hide">
        <input name="uname" type="text" id="username" tabindex="0"/>
        <label for="username">
          <span data-text="Введите ваше имя">Введите ваше имя</span>
        </label>
      </fieldset>

      <fieldset class="form-fieldset ui-input __second hide">
        <input name="uphone" type="tel" id="phone" tabindex="0" pattern="^[ 0-9]+$"/>
        <label for="phone">
          <span data-text="Введите ваш телефон">Введите ваш телефон</span>
        </label>
      </fieldset>

      <input name="formInfo" class="formInfo" type="hidden" value=""/>

      <div class="form-footer">
        <input type="submit" class="formBtn" value="Заказать" />
      </div>
  </form>
  </div>
</div>


И код js
$(document).ready(function () {
    $("form").submit(function () {
        // Получение ID формы
        var formID = $(this).attr('id');
        // Добавление решётки к имени ID
        var formNm = $('#' + formID);
        var message = $(formNm).find(".msgs"); // Ищес класс .msgs в текущей форме  и записываем в переменную
        var formTitle = $(formNm).find(".formTitle"); // Ищес класс .formtitle в текущей форме и записываем в переменную
        $.ajax({
            type: "POST",
            url: 'modalform/mail.php',
            data: formNm.serialize(),
            success: function (data) {
              // Вывод сообщения об успешной отправке
              message.html(data);
              formTitle.css("display","none");
              $('.formBtn').css("display","none");
              $('.hide').css("display","none");
              form.css("display","none");
              setTimeout(function(){
                $('.formTitle').css("display","block");
                $('.msgs').html('');
                $('input').not(':input[type=submit], :input[type=hidden]').val('');
              }, 3000);
            },
            error: function (jqXHR, text, error) {
                // Вывод сообщения об ошибке отправки
                message.html(error);
                formTitle.css("display","none");
              $('.formBtn').css("display","block");
              $('.hide').css("display","block");
                 $(formNm).css("display","none");
                setTimeout(function(){
                  $('.formTitle').css("display","block");
                  $('.msgs').html('');
                  $('input').not(':input[type=submit], :input[type=hidden]').val('');
                }, 3000);
            }
        });
        return false;
    });
    //для стилей формы
      var $input = $('.form-fieldset > input');
      $input.blur(function (e) {
        $(this).toggleClass('filled', !!$(this).val());
      });
});
  • Вопрос задан
  • 758 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Vernadsky
Привет! Попробуй на jQuery.
$("#secondForm").hide();
Ответ написан
Комментировать
hardcorelite
@hardcorelite
success: function (data) {
              // Вывод сообщения об успешной отправке
              message.html(data);
              formTitle.css("display","none");
              $('.formBtn').css("display","none");
              $('.hide').css("display","none");
              form.css("display","none");
              setTimeout(function(){
                $('.formTitle').css("display","block");
                $('.msgs').html('');
                $('input').not(':input[type=submit], :input[type=hidden]').val('');
              }, 3000);
              $(".remodal").hide();
            },
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы