我有一个数据输入的字段集。当页面上的更改完成后,将使用提交按钮保存更改并重定向回索引页面。我的问题是基于js的重定向回主索引页在IE或Edge浏览器中不起作用。输入字段保存正常。我已经尝试了我所知道的一切以及我在网上发布的所有内容都没有成功。
这是提交按钮代码:
<input type="button" name="Done" class="saveField action-button" value="Submit" />
这是按钮js提交代码:
$(".submit").click(function() {
saveDetails();
})
这是saveDetails代码,重定向回到索引页面(admin.php):
function saveDetails() {
form = "msform";
$.ajax({
url : 'classes/Process.php?page=saveDetails',
async : true,
type : 'post',
data : $('form#' + form).serialize(),
success : function(data) {
//location.reload();
$("#recstatus").val("edit");
window.location.assign("admin.php");
},
fail : function() {
// showPleaseWait(false);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
// showPleaseWait(false);
}
});
}
除重定向外,一切正常。这是我到目前为止所尝试的内容:
window.location.assign("admin.php");
window.location.replace("admin.php");
location.assign = "admin.php";
location.replace = "admin.php";
location.href = "admin.php";
window.location.assign('/admin.php');
window.location.assign('FULL HTTP ADDRESS URL');
如前所述,输入数据处理正常,只有重定向在IE11或边缘不起作用。重定向适用于Safari,Chrome和Firefox。
任何建议都会非常感激。
答案 0 :(得分:0)
试试这个:
window.location.assign('/admin.php');
希望它有所帮助。
答案 1 :(得分:0)
解决。 window.location.assign重定向没有任何问题。问题是机器+浏览器很慢,以前的location.reload还没有完成......当然js执行是异步的。
对我来说,修复就是删除location.reload调用。它是为过时的保存按钮调用编写的,该调用重新加载页面以验证所有输入字段是否已更新。新的提交按钮更新字段并将用户返回到表单索引页面,因此location.reload是无意义/过时的。
我在上面的代码中注释了这一行,所以现在这是一个有效的例子。