重定向没有刷新页面没有发生(php + jqmobile)

时间:2012-05-16 10:44:36

标签: php jquery-mobile

我有一个像这样的HTML:

<!doctype html>
<html manifest="">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
</head>
<body>
<div data-role="page" id="Find">
    <div data-theme="b" data-role="header" data-position="fixed">
        <h3>test</h3>
    </div>
    <div data-role="content">
        <form action="handler.php" id="findForm" >
            <div data-role="fieldcontain">
                <fieldset data-role="controlgroup">
                    <label for="textinputf1"> keyword: </label> <input id="textinputf1"  name="keyword" placeholder="" value="" type="text" />
                </fieldset>
            </div>
            <input type= "submit" data-theme="g" value="Find" />
        </form>
    </div>
</div>

<div data-role="page" id="Results">
    <div data-theme="b" data-role="header" data-position="fixed">
        <h3>Results</h3>
    </div>
    <div data-role="content">
        <ul data-role="listview" data-filter="true">
            <li><a href="">HEllo</a></li>
            <li><a href="">Bye</a></li>
        </ul>
    </div>
</div>

</body>
</html>​

像这样的handler.php:

<?php 
//...
if( let's say false ) {
    header("location:.");
}else{
    header("location:./#Results");
    //header("Refresh:0;url=/application/test/#Results");   
}

标题+刷新或标题+位置,当我提交表单时,我在网址栏中看到这个:     ... / handler.php?关键字=测试

但是我没有重定向,如果我刷新页面(从网址栏或F5点击输入)那么我会到#Results,但不会自动

任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

jquery mobile可能使用ajax来处理你的表单。你应该切换表单的ajax处理

jQuery Mobile form sample

还在您的位置放置一个空格

Location: whereyouwanttogo

答案 1 :(得分:0)

无需刷新即可查看传递的参数的方法是使用data-ajax =“false”

如果您想使用ajax,请不要直接调用网址。使用AJAX调用它们,并在JavaScript的帮助下将响应重定向到#Results。