2013-01-24 66 views
2

我正在開發一個使用模態對話框(showModalDialog()) 的Web應用程序。用戶必須填寫一些文本框,並且如果用戶犯了錯誤,則需要重新加載對話框。我可以通過使用location.reload(true);如何在IE中重新加載模式對話框

但這在IE中不起作用。我錯過了什麼或有什麼限制嗎?請指導我。

感謝

+0

你在IE中遇到了什麼樣的錯誤?您使用的是哪個版本的IE? –

+0

實際上Raja沒有得到任何錯誤,但它不會刷新IE8,IE9對話框。 – highfive

+0

爲了澄清,文本框位於模式中,當用戶提交時,您將驗證字段,如果有任何錯誤,則需要在同一個模式窗口中顯示驗證錯誤。這是你的要求嗎? –

回答

2

執行以下操作麻煩是因爲分配給location.href將無法正常工作。它只會打開另一個窗口,從窗口的父窗口加載頁面。

首先,你需要在你的腦袋節創建一個基本的標籤,像

<head> 
    <base target="_self" /> 
</head> 

然後模擬鏈路上的用戶點擊,因爲這種聯繫僅僅是腳本啓動重裝的工具過程中,您可能想隱藏它。讓我們把這個鏈接重新加載。

<a id="reload">reload</a> 

腳本重新加載模態對話框是

// Get the link object to simulate user click 
var reload = document.getElementById('reload'); 

// Assign the modal url to the link then click! 
reload.href = window.location.href; 
reload.click(); 

您現在應該可以刷新IE中的模態對話框。

+0

哈,這爲我工作。謝謝 :) – Yulian

相關問題