我正在开发一个使用modaldialog(showModalDialog()
)的Web应用程序
。用户必须填写一些文本字段并作为通常的Web表单,如果用户犯了错误,则需要重新加载对话框。我可以使用location.reload(true);
但这不适用于IE。我错过了什么或有任何限制吗?请指导我。
由于
答案 0 :(得分:5)
执行以下麻烦是因为分配到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中刷新模态对话框。