在IE中使用锚点的Jquery Mobile重定向

时间:2015-01-27 17:31:03

标签: php internet-explorer jquery-mobile

我的代码在jquery mobile 1.4.5上运行。当我提交表格时。该网站将调用login.php,如果成功,它将重定向到#customer锚点。如果不是,它将重定向到#error弹出窗口。 问题是这在chrome和firefox上按预期工作,但它在桌面IE11上不起作用。

$(document).ready(function() {
  $('#loginform').submit(function(e) {
    e.preventDefault();
    $.ajax({
      type: "POST",
      url: 'login.php',
      data: $(this).serialize(),
      success: function(data) {
        if (data === 'login') {
          window.location = '#customer';
        } else {
          window.location = '#error';
        }
      }
    });
  });
});
<form id="loginform" method="post">
  <div class="ui-field-contain">
    <label for="storeID">Store ID:</label>
    <input type="text" name="usn" id="usn">
    <label for="password">Password:</label>
    <input type="password" name="upw" id="upw">
  </div>
  <input type="submit" Value="Login" />
</form>

1 个答案:

答案 0 :(得分:0)

JQM有自己的小部件用于导航到Pages。它使用Ajax将页面加载到Dom中,或者一旦加载到Dom中,它就会指向该页面。使用的Widget使用Change Method称为Pagecontainer。

现在我不了解IE11,从未使用它,但根据JQM用户指南,以下方法是您需要使用的方法。

http://api.jquerymobile.com/pagecontainer/

(示例中的页面转换设置为无)您可以从此处选择一个 - http://demos.jquerymobile.com/1.4.5/transitions/

 $( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none" })

如果你想要一个反向过渡,即反过来使用反向真实

 $( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none", reverse: true })

对于错误对话框,JQM也有一个小部件。

http://api.jquerymobile.com/dialog/

打开错误对话框

$ .mobile.changePage(&#34; #error&#34;,{role:&#34; dialog&#34;});