我的代码在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>
答案 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;});