2012-01-16 7 views
0

私はjquerymobile Androidアプリを開発しましたが、フォーム提出の問題以外はすべてうまくいきます。Phonegap/Jquery Mobile Androidアプリ - ナビゲーションに影響するフォーム提出

基本的には、テキストを入力して物理検索ボタンをクリックすると検索機能がうまくいきますが、テキストを入力してEnterボタンをクリックすると、アプリはホームページにナビゲートします。

これは私のフォーム

<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でこれを解決しようと思いました。しかしそれはまだ問題を引き起こしている.. 誰も何かを提案することができますか?

歓声 ポール

答えて

0

のjQueryモバイルフレームワークは、おそらくまだハイジャックフォーム送信のそれ自身の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> 
+0

ありがとうジャスパー、data-ajax = "false"は何らかの理由でアプリがクラッシュする原因となりました。私は最終的に上記のkeydownの修正で解決しました。試してみてくれてありがとうございます。 – Dancer

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

残念なことに、あなたのお役に立てる、幸運なことではありません。フォームは実際にsrchというページにあります。私は上記のコードを変更しましたが、まだホームページにアプリを送ります。 – Dancer

1

これは私が問題を解決できる唯一の方法だった -

$(window).keydown(function(event){ 
    if(event.keyCode == 13) { 
    event.preventDefault(); 
    searchThis() 
    return false; 
} 
}); 
関連する問題