Сообщение от raja
|
Форма при попытке её отправить посылает ajax дополнительный POST-запрос. Если запрос возвращает "ок", форма отправляется, иначе выводится в alert то, что вернул ajax запрос ответ от сервера.
|
Да, ваш код действительно это делает уже сейчас, при условии, что сервер действительно правильно отвечает!
Сообщение от raja
|
Почему-то когда ajax сервер возвращает "ok", форма не отправляется сразу, а только при следующей попытке её отправить. Как сделать чтобы форма в этом случае сразу отправлялась?
|
Предоставленный код отправляет форму сразу в случае получения положительного ответа от сервера. Кстати ваш код можно изменить...
(function() {
var isAllowedToSubmit = false;
$("#new_item_form").on("submit", function(event) {
if(isAllowedToSubmit) return true;
event.preventDefault();
$.post("ajax_unique_name.php", {
name: $("#input_name").val()
}).done(function(data) {
if(data === "ok") {
isAllowedToSubmit = true;
$("#new_item_form").submit();
isAllowedToSubmit = false;
} else {
alert(data);
}
});
});
})();
Не используйте слово «ajax» для обозначения случайных вещей, сложно понимать людей, которые используют выражение «асинхронный JavaScript и XML» для обозначения совершенно других вещей!