Выполнение формы, или невыполнение.
Добрый вечер.
Не могу разобраться с 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, время: 15:36. |