2017-04-20 170 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