natojezlo
@natojezlo

По JS немного переделать функцию?

Есть форма, которая находится в модальном окне на css
модальное окно вызывается вот такой ссылкой
<a onclick="getElementById('overlay').style='visibility:visible;opacity:1';">открыть</a>
а закрывается вот такой кнопкой
<button class="close" 
 onclick="document.getElementById('overlay').style='visibility:hidden;opacity:0;transition:all 0.7s ease-out 0s';">Закрыть</button>


форма отправляется js-ом
<script>
$(document).ready(function() {
	$("form.formaa").submit(function() { //Change
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php", //Change
			data: th.serialize()
		}).done(function() {
			$('#thanks').fadeIn(500);
			setTimeout(function() {
				// Done Functions
				th.trigger("reset");
			}, 1000);
		});
		return false;
	});
});
</script>


в этой форме после отправки вылезал alert , что сообщение отправлено
я нарыл как вместо него сделать, что бы вылезал блок с благодарностью с id #thanks
вот
$('#thanks').fadeIn(500);


далее через время выполняется reset заполненных полей

можно ли как то сделать вместо reset, что бы выполнилась функция закрытия модального окна вместо reset? вот эта?
<button class="close" 
 onclick="document.getElementById('overlay').style='visibility:hidden;opacity:0;transition:all 0.7s ease-out 0s';">Закрыть</button>


Спасибо!
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
alsolovyev
@alsolovyev
document.getElementById('overlay').style='visibility:hidden;opacity:0;transition:all 0.7s ease-out 0s';

Это кусок кода, который отвечает за закрытие окна, так?
Ну и замените: th.trigger("reset"); на код выше
....
$('#thanks').fadeIn(500);
setTimeout(function() {
    // Done Functions
    // th.trigger("reset");
    document.getElementById('overlay').style='visibility:hidden;opacity:0;transition:all 0.7s ease-out 0s';
}, 1000);

Ну или в любое другое место где Вам надо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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