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。对象 get 作为第event一个参数传递给侦听器的回调函数。

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

    event.preventDefault()

    // rest of your code here

})
于 2013-06-07T14:47:43.080 回答