0

私はjQueryモバイルで小さなアプリを構築しています.

フォームを送信するときに、あるページから別のページに移動するときに問題が発生しています。

だから私の最初のページはこのようになります

<div data-role="page" data-theme="a"  id="page1">

<div data-role="header" data-theme="a">
        <h1>Contact Us</h1>
        <a  data-icon="back"
            data-iconpos="notext"
            data-rel="back"
            data-transition="slidefade"
            >Info</a>
        <a href="#home"
            data-icon="home"
            data-iconpos="notext"
            data-transition="slidefade"
            >Home</a>

    </div>

 <div class="pageContainer">     
    <section id="links">

    <form name="page1" method="post" action="#page2" id="form">

    <div  class="panel colourPanel">


        <div class="searchMethod buttonColour even">

            <input name="hidBranch" type="hidden" id="hidBranch" value="0" />
            <div class="searchText textShadow">Branch</div>
            <div class="searchImg">&nbsp;</div>

        </div>

        <div class="searchMethod buttonColour odd">

           <input name="hidATM" type="hidden" id="hidATM" value="0" />
            <div class="searchText textShadow">ATM</div>
            <div class="searchImg">&nbsp;</div>

        </div>

        <div class="searchInput">
            <input id="searchArea"  type="text" value="Search address">
        </div>

        <div id="searchContainer">
            <input type="submit" name="btnSearch" id="btnSearch2" alt="Find" value="Search" />

        </div>

    </div>

    </form>


      </section>

</div>

だから私はこれがpage2に行くことを期待していますが、代わりにルートページに戻りますか?

なぜこれが起こるのでしょうか?

ありがとう

4

2 に答える 2

0

あなたがまだこれに取り組んでいるのか、それとも解決したのかはわかりませんが、この問題を抱えている他の人のために解決策を投稿すると思いました.

jQM はデフォルトで、フォームの送信後にアプリを「最初のページ」に戻します。以下 ( docsから取得) を使用して、デフォルトを変更できます。jQM はpagebeforechange、フォームとナビゲーションを処理するときに、イベントの呼び出しをリッスンしてデフォルトを更新します。

// Listen for any attempts to call changePage().
$(document).bind( "pagebeforechange", function( e, data ) {

    // We only want to handle changePage() calls where the caller is
    // asking us to load a page by URL.
    if ( typeof data.toPage === "string" ) {

        // We are being asked to load a page by URL, but we only
        // want to handle URLs that request the data for a specific
        // category.
        var u = $.mobile.path.parseUrl( data.toPage ),
            re = /^#category-item/;

        if ( u.hash.search(re) !== -1 ) {

            // We're being asked to display the items for a specific category.
            // Call our internal method that builds the content for the category
            // on the fly based on our in-memory category data structure.
            showCategory( u, data.options );

            // Make sure to tell changePage() we've handled this call so it doesn't
            // have to do anything.
            e.preventDefault();
        }
    }
});
于 2013-12-17T23:25:35.887 に答える
0

コンテンツは、この div 内にラップする必要があります:

<div data-role="content" data-theme="a" id="someid"></div>

jQM ページ内にコンテンツが必要な場合は、data-role="content" が必要です。

于 2012-11-28T11:42:05.273 に答える