Выполнение формы, или невыполнение.
Добрый вечер.
Не могу разобраться с return true/false при сабмите формы. Есть php-скрипт (редактирование тегов), который выдает, например, номер ошибки, если не получается сохранить тег. Аяксом определяю, сходится ли удаленный контент с номером ошибки и если сходится, то форма не отправляется, а выводится ошибка. В противном случае, форма должна сабмититься. Как разобраться, где ставить ретурны? Спасибо :)
$("#tag_edit_form").submit(function(){
var url = $("#tag_edit_form").attr("action");
$.post(
url,
{
name: $("#name").attr("value"),
old_name: $("#old_name").attr("old_name"),
url_name: $("#url_name").attr("url_name"),
old_url_name: $("#old_url_name").attr("old_url_name"),
edit_tag: $("#edit_tag").attr("edit_tag")
},
function (data){
if (data == "0000001"){
$("<div></div>")
.attr("id", "error")
.attr("style", "display: none")
.html("Name is empty")
.prependTo("#content")
.slideDown("fast");
return false;
} else return true;
}
);
});
|
Видимо так:
$(…).submit(function() {
…
var form = this;
$.post(
url,
{
…
},
function(data) {
if (…) {
…
} else {
form.submit();
}
}
);
return false;
});
Отправку данных по submit'у формы придется отменять всегда, т.к. post-запрос выполнится асинхронно, для этого делаем retun false непосредственно в обработчике submit. После того, как придет ответ от сервера, в зависимости от условия, отправим форму самостоятельно с помощью form.submit(). |
Большое спасибо!
|
| Часовой пояс GMT +3, время: 17:27. |