Эти две строки:
var anyQuestionForm = $('#anyQuestion');
anyQuestionForm.submit(function (e) {
находятся в вашем обработчике отправки, но именно они настраивают обработку отправки в первую очередь.Итак, похоже, что ваш первый щелчок по кнопке вызывает submitHandler
, который затем настраивает обработчик события отправки формы, чтобы другой щелчок отправлял запрос AJAX.
Они должны быть в функции document.ready()
:
$(function(){
var anyQuestionForm = $('#anyQuestion');
anyQuestionForm.submit(function (e) { . . .
});
Или, так как ваш обратный вызов submit
уже находится внутри вашего submitHandler
, вам может даже не понадобиться обратный вызов submit
, и просто используйте:
submitHandler: function () {
$.ajax({
type: 'post',
url: '/xhr/anyquestion',
data: anyQuestionForm.serialize(),
success: function (data) {
if( data == 'ok' ){
Swal.fire({
position: 'top-end',
type: 'success',
showConfirmButton: false
})
console.log(data);
document.getElementById("anyQuestion").reset();
}
},
. . .