@kaxa3201

Как пофиксить 419 ошибку при двойном нажатии на кнопку?

<form class="form-horizontal" role="form" method="POST" action="{{ url('/google') }}"
      style="color: #000000; font-weight: bold">{{ csrf_field() }}
    <div class="form-group">
        <div class="col-md-8 col-md-offset-4">
            <button type="submit" id='btnTest' class="btn btn-primary">
                Submit
            </button>
        </div>
    </div>
</form>

При нажатии на submit сервер какое-то время обрабатывает запрос и пользователь этого не замечает и нажимает еще раз и поэтому появляется 419 ошибка
Пробовал дизейблить кнопку на некоторое время после первого клика, кнопка дизейблится но запрос не отправляется
$("#btnTest").click(function() {
        $(this).attr("disabled", true);
        setTimeout(function() {
            $('#btnTest').removeAttr("disabled");
        }, 30000);
    });
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MrColdCoffee
web
при клике e.preventDefault();
далее проверка
далее отправка формы

document.getElementById('btnTest').addEventListener('click',(e)=>{
e.preventDefault();
// тут проверка (например активна ли кнопка)
// если активна, то сделать неактивной и отправить форму
document.getElementById('тут ID формы').submit();
// иначе просто return false;
});
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы