Aderus
@Aderus

Как снова показать поля формы после отправки через ajax?

Здравствуйте! Есть форма на сайте,которая через ajax отправляет все данные формы на почту, ну все как обычно. Форма работает,все норм. Вопрос такой. У меня после нажатия кнопки отправить,через анимацию hide исчезает форма и вместо нее через show добавляется надпись "Ваша заявка отправлена" и через 3,5 секунды тоже исчезает. Изначально было так и задумано. Но это некрасиво т.к. там где была форма, а затем надпись ничего не остается, там пусто. Как мне после "Ваша заявка отправлена" обратно вернуть показ формы?

Ниже js который всем этим заправляет:
//Обратная связь
   $('.contacts-form').submit(function(){
    var idach = $(this).parents('div.cont').attr('id'),
        link = $(this).attr('action'),
        post = $(this).serialize(),
        block = 0;

    $('.contacts-form input').removeAttr('style');
    $(".contacts-form input[type='text']").each(function() {if ( $(this).val() == $(this).attr('placeholder')){block = 1;$(this).css('border-color','red');}});
    
    if(block == 0){
  $.ajax({type: 'POST', url: link, data: post, dataType: 'json',
        success: function(data) {
          if(data.code != 0){
           for (var z = 0; z < data.input.length; z++) {
              $(".contacts-form input[name='"+data.input[z]+"']").css('border-color','red');
            }
          } else if(data.code == 0){
            $('#'+idach).animate({opacity: 'hide'}, "slow", function(){
             $('#cont').css({'color' : 'white', 'font-weight' : 900, 'font-size' : '30px', 'text-align' : 'center'}).html('Ваша заявка отправлена');
             $('#cont').animate({ opacity: 'show' }, "slow", function(){
               setTimeout(
                  function(){
                    $('#cont').animate({ opacity: 'hide' }, "slow", function(){$('#cont').html('');});
                  }
                ,3500);
             });
           });
          }

        }
      });
    }
return false;
  });


Сам код когда-то нашел на просторах и меня все устраивало,но теперь нужно чуть подправить.
Заранее спасибо
  • Вопрос задан
  • 205 просмотров
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
$('#cont').animate({ opacity: 'hide' }, "slow", function(){
    $('#'+idach).animate({opacity: 'show'}, "slow"});
});
Ответ написан
Ваш ответ на вопрос

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

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