Как во время отправки ajax запроса сделать всплывающее на 5 сек модальное окно?

86
14 июня 2021, 15:00

Есть типичная форма отправки сообщения, которая отправляет данные на php страницу c помощью ajax с которой идет перенаправление обратно, и при этом всплывает модальное окно с благодарностью.

Как сделать так, чтобы запрос сработал (возврат на страницу за это время произошел), а модальное окно при этом повисело 5 секунд и потом исчезло, а не как сейчас появляется только на мгновение.

Важно! Запрос за это время должен сработать, сделать настройку в ajax на 5 сек не подойдет, но и setTimeout меня в данном случае не выручает.

$('#myForm').on('submit', function(e) { 
  $('#box_modal').css('display', 'block'); 
  $('#box_modal').animate({ 
    'opacity': 1 
  }, 500); 
  $.ajax({ 
    type: "POST", 
    url: $(this).attr('action'), 
    data: $(this).serialize(), 
    success: function() { 
      setTimeout(function() { 
        $('#box_modal').css('opacity', 0); 
        $('#box_modal').css('display', 'none'); 
      }, 5000); 
    } 
  }); 
});
#box_modal { 
  background-color: blue; 
  color: red; 
  font-size: 18px; 
  width: 100px; 
  height: 50px; 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<form id="myForm" method="post" action="mail.php"> 
  <input type="text" value="Hello there"> 
  <input type="submit" value="Go"> 
</form> 
 
<div id="box_modal" style="display:none;"> 
  Thank you! 
</div>

READ ALSO
как создать анимацию на javascript?

как создать анимацию на javascript?

на днях смотрел как создать игру на джаваскрипт так скажем практиковался и тут проблема нужно создать анимацию что бы картинка менялась...

79
Передать на сервер файлы Vuejs + Laravel

Передать на сервер файлы Vuejs + Laravel

как передать на сервер файлы и обработать их?

74
Событие после повторного выбора файла в input

Событие после повторного выбора файла в input

Для обработки события, которое возникает после выбора файла, я использую ивент change:

78
Проблема с REST-api WordPress

Проблема с REST-api WordPress

При POST-запросе к /media/, то есть загрузке медиафайла, вылетает исключение TimeoutError, мол не загружена картинкаВ итоге, несмотря на эту ошибку, эта...

92