2017-04-20 144 views
1

我有一个用于数据输入的字段集。当页面上的更改完成时,将使用提交按钮来保存更改并重定向回索引页面。我的问题是,基于js的重定向到主索引页面在IE或Edge浏览器中不起作用。输入字段保存成功。我已经尝试了我所知道的一切,并且能够在网上发现的所有内容都没有成功。js页面重新指向按钮提交无法使用IE或边缘

这里提交按钮代码:

<input type="button" name="Done" class="saveField action-button" value="Submit" /> 

这里是按钮的js代码提交:

$(".submit").click(function() { 

saveDetails(); 

}) 

这里是saveDetails代码重定向回索引页面(管理员。 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

已解决。 window.location.assign重定向没有任何问题。问题是机器+浏览器很慢,以前的location.reload还没有完成......当然,js执行是异步的。

对我来说,修复就是简单地删除location.reload调用。它被写入一个过时的保存按钮调用,重新加载页面以验证所有输入字段已被更新。新的提交按钮更新字段并将用户返回到表单索引页面,所以location.reload毫无意义/过时。

我在上面的代码中注释了这一行,所以这是现在的一个工作示例。

0

试试这个:

window.location.assign('/admin.php'); 

希望它帮助。

+0

thx,但没有运气。它在所有非IE浏览器/边缘浏览器中运行良好,并且在IE边缘浏览器上完全没有影响。这就像重定向命令对他们不可见 – Mcbeese