Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2009, 23:43
Новичок на форуме
Отправить личное сообщение для Maaaa Посмотреть профиль Найти все сообщения от Maaaa
 
Регистрация: 23.09.2009
Сообщений: 2

Выполнение формы, или невыполнение.
Добрый вечер.

Не могу разобраться с 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;
       }
    );
});
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2009, 00:16
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Видимо так:
$(…).submit(function() {

    …
    
    var form = this;
 
    $.post(
        url, 
        {
            …        
        }, 
        function(data) {
             if (…) {
                  …
             } else {
                  form.submit();
             }
        }
    );

    return false;
   
});

Отправку данных по submit'у формы придется отменять всегда, т.к. post-запрос выполнится асинхронно, для этого делаем retun false непосредственно в обработчике submit. После того, как придет ответ от сервера, в зависимости от условия, отправим форму самостоятельно с помощью form.submit().

Последний раз редактировалось Octane, 24.09.2009 в 00:20.
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2009, 00:21
Новичок на форуме
Отправить личное сообщение для Maaaa Посмотреть профиль Найти все сообщения от Maaaa
 
Регистрация: 23.09.2009
Сообщений: 2

Большое спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Собрать значения всех полей формы vvsh Events/DOM/Window 3 09.11.2009 00:35
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 11:58
Как определить цвет (темный он или светлый)? mouse_web Элементы интерфейса 6 22.07.2009 14:35
Подгружаемые поля формы AlexJ AJAX и COMET 2 26.06.2009 18:04
формирование обьекта или массива на основе полей формы birst Общие вопросы Javascript 1 05.12.2008 17:50