Проблема с $ .get при отправке формы - PullRequest
0 голосов
/ 05 мая 2010

Я пытаюсь проверить, что имя учетной записи еще не используется, как только пользователь заполняет форму. Код выглядит так:

    $("#add_account").submit( function () { 
            $.get(
                "'.url::site("ajax/check_account_name").'", 
            {account_name: "t"}, 
            function(data){ 
                alert( data ); 
            }); 
        });

Я получаю ответ $ .get, если выражение выглядит так:

    $(document).ready( function () { 
            $.get(
                "'.url::site("ajax/check_account_name").'", 
            {account_name: "t"}, 
            function(data){ 
                alert( data ); 
            }); 
        });

Что заставляет меня верить, что мое утверждение $ .get верно. Есть ли какое-то правило jQuery, с которым я не знаком, которое может привести к сбою в сценарии отправки?

В блоке кода 1 я получаю значения, которые должны быть возвращены. Блок 2 дает мне пустой ответ.

Есть идеи? Спасибо за ваше время, я знаю, у вас есть дела поважнее.

1 Ответ

1 голос
/ 05 мая 2010

Обработчики Javascript запускаются перед действием по умолчанию, на которое вы нажали. Итак, если у вас есть этот оператор $ .get, прикрепленный к кнопке отправки формы, то оператор $ .get сработает перед отправкой формы через методы браузера.

Чтобы отменить это действие, вы должны включить return false; в конце вашего обработчика кликов, чтобы отменить действие по умолчанию, как указано J-P. Это работает и для ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...