1

jQuery には、送信し、ColdFusion を使用してデータベースからデータを取得し、そのデータの一部を新しいページに表示するフォームがあります。問題は、新しいページに切り替えるたびに、一瞬点滅してから、最初のページにリダイレクトされることです。問題のページはこちらです。検索する許可番号として 9355 を入力するだけです。

その背後にあるコードは次のとおりです。

許可ページ

 <div data-role="page" id = 'permit' data-add-back-btn="true">
        <div data-role="header">
            <h1>Parking Permit Number Search</h1>
        </div><!-- /header -->
        <div data-role="content">
            <div class="ui-grid-solo">
                <div class="ui-block-a"><br></div>
                <div class="ui-block-a">
                <form id="formpermit">
                    <input type="text" data-clear-btn="true" name="permittext" id="permittext" value="">
                </form>
                </div>
                <script type="text/javascript">
                $("#formpermit").on("submit",function() {
                    $.mobile.changePage("#Student");
                });         
                </script>
                <div class="ui-block-a">
                <!-- <a href='#Student' data-role="button" onclick="formpermit.submit()" data-inline="true">Search</a> -->
                </div>
            </div><!-- /grid solo -->   
        </div><!-- /content --> 
        <a href='#bug' data-rel="dialog" onclick="clearText()" data-close-btn="left" data-role="button" data-inline="true">Report bug</a>
    </div> <!--/Permit Number -->

学生ページ

<div data-role="page" id = 'Student' data-add-back-btn="true">
    <div data-role="header">
        <h1>Student Info Page</h1>
    </div><!-- /header -->
    <div data-role="content">
        <script type="text/javascript">
        $("#formpermit").on("submit",function() {                       
            var strPermit=$(permittext).val();
                strPermit=$.trim(strPermit);

                $.get("joeyP.cfm", { Permit: strPermit})
                .done(function(data) {
                  $("#myResults").html(data);
                });                
            });
        </script>
        <div id="myResults"></div>
    </div> <!-- /content -->
    <a href='#first' data-role="button" data-inline="true">Back</a>
</div> <!--/Student -->

前もって感謝します!

4

2 に答える 2

2

falseイベント ハンドラーから戻ることによって、送信を続行するページを防止する必要があります。

$("#formpermit").on("submit",function() {
   ... 
   return false;
});         

おそらく両方の場合です。

于 2013-06-07T14:35:59.707 に答える
1

送信ボタンをクリックすると、ブラウザは新しいリクエストでデータを送信します。

このデフォルトの動作を防止する必要があります。preventDefault()オブジェクトの関数でこれを行うことができeventます。オブジェクトはevent、リスナーのコールバック関数に最初のパラメーターとして渡されます。

$("#formpermit").on("submit", function(event) {

    event.preventDefault()

    // rest of your code here

})
于 2013-06-07T14:47:43.080 に答える