Jquery 在 IE 中使用锚点进行移动重定向
Jquery Mobile redirect with anchor in IE
我的代码是 运行 jquery 移动版 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>
JQM 有自己的页面导航小部件。它使用 Ajax 将页面加载到 Dom 中,或者一旦加载到 Dom 中,它就会指向该页面。使用的Widget使用Change Method调用Pagecontainer。
现在我不知道 IE11,也从未使用过它,但根据 JQM 用户指南,您需要使用以下方式。
http://api.jquerymobile.com/pagecontainer/
(示例中的页面转换设置为none)您可以从这里选择一个--http://demos.jquerymobile.com/1.4.5/transitions/
$( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none" })
如果你想要反向转换,即反方向使用 reverse true
$( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none", reverse: true })
对于错误对话框,JQM 也有一个小部件。
http://api.jquerymobile.com/dialog/
打开错误对话框
$.mobile.changePage( "#error", { 角色: "dialog" } );
我的代码是 运行 jquery 移动版 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>
JQM 有自己的页面导航小部件。它使用 Ajax 将页面加载到 Dom 中,或者一旦加载到 Dom 中,它就会指向该页面。使用的Widget使用Change Method调用Pagecontainer。
现在我不知道 IE11,也从未使用过它,但根据 JQM 用户指南,您需要使用以下方式。
http://api.jquerymobile.com/pagecontainer/
(示例中的页面转换设置为none)您可以从这里选择一个--http://demos.jquerymobile.com/1.4.5/transitions/
$( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none" })
如果你想要反向转换,即反方向使用 reverse true
$( ":mobile-pagecontainer" ).pagecontainer( "change", "#customer", { transition: "none", reverse: true })
对于错误对话框,JQM 也有一个小部件。
http://api.jquerymobile.com/dialog/
打开错误对话框
$.mobile.changePage( "#error", { 角色: "dialog" } );