Fotoz
@Fotoz
Начинающий

Как запретить повторную отправку письма?

Как сделать, чтобы в аякс форме можно было только раз отправить заявку, а то если много раз нажать на кнопку отправить, то и придет множество одинаковых писем???
Вот js код:
$("form").submit(function() {
var th = $(this);
$.ajax({
type: "POST",
url: "mail.php",
data: th.serialize()
}).done(function() {
$(th).find('.success').addClass('active').css('display', 'flex').hide().fadeIn();
setTimeout(function() {
$(th).find('.success').removeClass('active').fadeOut();
th.trigger("reset");
}, 3000);
});
return false;
});
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 4
monochromer
@monochromer
DIVeloper
Наверно, лучше просто очищать форму после отправки, например, методом reset()
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
писать в localStorage (или в data атрибут) идентификатор отправки, например дату и проверять его перед отправкой. Тем самым установив лимит на отправку в день, час или как еще пожелаете. Можно еще просто форму скрывать перед отправкой.
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
1. На клиенте - после подтверждения успешной отправки - обнулять метод data и менять каптчу
2. На сервере новая каптча уже проверку не пройдет

Получится двойная защита.
Ответ написан
Комментировать
serjikz
@serjikz
web-developer
Уже достаточно советов было. Еще один - записывать в базу того кто сделал заявку и больше не принимать от него же заявок просто на уровне php ограничив, сверяясь с базой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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