Приложение Phonegap / Jquery Mobile для Android - отправка формы, влияющая на навигацию - PullRequest
0 голосов
/ 16 января 2012

Я создал приложение jquerymobile для Android, и все работает хорошо, кроме проблемы с отправкой формы, которая сводит меня с ума.

В основном - если вы вводите текст и нажимаете кнопку физического поиска - функция поиска работаетотлично - но если вы введете текст и нажмете кнопку ввода, приложение перейдет на домашнюю страницу .... Как я могу остановить это?

Это моя форма

<form  class="srchForm" action="searchThis()">
    <input type="search" class="srchInput">
    <div class="clearBtn"><span class="hidden">Clear</span></div>
    <div class="srchBtnOne"><span class="hidden">Search</span></div>
</form>


function searchThis() {

     event.preventDefault();

     var inputDetails= $('.srchInput').val();

     $('.srchRes').empty();
     $('.srchRes').append('<iframe frameborder="0" scrolling="no" width="300"    frameborder="0"   src="http://uc.dialogue.netsrch.jsp?query='+inputDetails+'&searchMode=any&indexGroup="  style=" border:none;background:#FFF; overflow:none; width:300px;"></iframe>');
}

Я думаля решил это с помощью event.preventdefault ();но это все еще вызывает проблемы .. Кто-нибудь может предложить что-нибудь?

ура Пол

Ответы [ 3 ]

1 голос
/ 17 января 2012

это был единственный способ решить проблему -

$(window).keydown(function(event){
    if(event.keyCode == 13) {
    event.preventDefault();
  searchThis()
     return false;
 }
});
0 голосов
/ 17 января 2012
Try this:

 $( document ).delegate("#index", "pageshow",function(event){
        $('#index #searchForm').bind('submit',function(e) {
            e.preventDefault;
        });
        $("#index #searchformbtn").unbind("blur");
        $("#index #searchformbtn").bind('blur',function(event){
             var inputDetails= $('.srchInput').val();
         $('.srchRes').empty();
         $('.srchRes').append('<iframe frameborder="0" scrolling="no" width="300"    frameborder="0"   src="http://uc.dialogue.netsrch.jsp?query='+inputDetails+'&searchMode=any&indexGroup="  style=" border:none;background:#FFF; overflow:none; width:300px;"></iframe>');
            return false;
        });
    });
0 голосов
/ 17 января 2012

Фреймворк jQuery Mobile, вероятно, по-прежнему активно использует отправку форм для своей собственной обработки форм AJAX. Чтобы остановить это, либо отключите AJAX-обработку форм глобально, либо отключите AJAX в вашей форме по отдельности, например:

<form  class="srchForm" action="searchThis()" data-ajax="false">
    <input type="search" class="srchInput">
    <div class="clearBtn"><span class="hidden">Clear</span></div>
    <div class="srchBtnOne"><span class="hidden">Search</span></div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...