Как предотвратить повторную отправку формы через enter?

Добрый день! На моей форме стоит Ajax-форма - после успешной отправки выводится модальное окно "Спасибо"
На этом моменте можно нажать на "enter" и форма отправится два раза. Как это предотвратить?

$(function() {
    $('#callBack').submit(function(e) {
        var $form = $(this);
        
        $.ajax({
            type: $form.attr('method'),
            url: $form.attr('action'),
            data: $form.serialize()
        })
        
        .done(function() {
            toggleCall();
            toggleCallModalThx();
        })
        
        .fail(function() {
            toggleCall();
            console.log('Fail');
        });
        
        e.preventDefault(); 
    });
});
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@zkrvndm
Боты, парсеры, расширения
Заведите переменную для записи состояния - отправлено / не отправлено. Перед отправкой формы используя банальный if проверяйте состояние этой переменной и отправляйте форму только, если она не отправлялась ранее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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