Phonegap / Jquery Mobile Android应用程序 - 影响导航的表单提交

时间:2012-01-16 19:18:14

标签: jquery ajax jquery-mobile

我已经构建了一个jquerymobile Android应用程序,除了表单提交问题之外,一切都运行良好,这让我疯狂。

基本上 - 如果您输入文本并单击物理搜索按钮 - 搜索功能效果很好 - 但是如果您输入文本并单击输入按钮,应用程序将导航到主页....如何阻止这种情况发生?< / p>

这是我的表格

<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 个答案:

答案 0 :(得分:1)

这是解决问题的唯一方法 -

$(window).keydown(function(event){
    if(event.keyCode == 13) {
    event.preventDefault();
  searchThis()
     return false;
 }
});

答案 1 :(得分:0)

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>

答案 2 :(得分:0)

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;
        });
    });