jQuery Mobile возвращает false при отправке формы - PullRequest
6 голосов
/ 11 мая 2011

У меня есть форма на моем сайте jQuery Mobile, которую я хотел бы проверить, и прекратить отправку, если проверка не прошла.

Однако 'return false' не останавливает отправку формы, потому что jQuery Mobile отправляет форму через Ajax. Как я могу остановить отправку формы?

$("#form").live('submit', function(){
    alert('test');
    return false;
});

Приведенный выше код запускает оповещение, но не мешает отправке формы. Если я использую data-ajax = "false" в теге формы, он будет работать правильно, но я бы предпочел использовать представление Ajax, если это возможно.

Ответы [ 3 ]

7 голосов
/ 11 мая 2011

Используйте data-ajax="false" и привяжите свой собственный код отправки формы ajax, который запускается только в том случае, если проверка прошла успешно:

$("#form").live('submit', function()
{
    if (formValidates)
    {
        $.post(...);
    }

    return false;
});
1 голос
/ 08 января 2015

Я согласен с bmaland и имел ту же проблему. Вот что сработало для меня:

$(document).on("pagecreate","#Home",function(){
$("#myFormSearch").submit(function(){
        myRealSubmit();
        return false;
    });                      
}); 
0 голосов
/ 12 мая 2011

Обратите внимание, что если вы можете использовать $ ("# form"). Submit () вместо live (), тогда ваш код будет работать, как и ожидалось, без необходимости предоставления собственного кода отправки формы ajax.

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