我在使用JavaScript
在我的页面上关闭弹出窗口时遇到问题我已经能够关闭其他弹出窗口,但是当我最终重定向弹出窗口时,我想我失去了一些东西。例如,在主窗口中,我选择一个项目,然后弹出窗口显示信息。接下来,我点击编辑,将响应重定向到编辑页面。在这里,我做了我的更改并点击提交。提交后,我希望它能够关闭,但我似乎无法做到这一点。
对于以前的弹出窗口,我会使用
ClientScript.RegisterStartupScript(this.GetType(), "CLOSE", "CloseAndRefresh();", true);
要调用我的.aspx文件中的javascript。这是:
function CloseAndRefresh() {
parent.location.reload(true);
parent.ClosePopup();
}
我使用以下代码生成了弹出窗口:
editButton.OnClientClick = (popupWindow.GetTargetPopupCode("MYURL"));
然而这不再适用了。我认为由于我对原始弹出窗口的重定向,它将一切都抛弃了。知道我需要修理什么吗?
编辑:
我终于明白了javascript实际上已经被调用了。
我已经尝试过这些功能而且没有一个功能:
window.close();
self.close();
parent.ClosePopUp();
ww = window.open(window.location, "_self");
ww.close();
谢谢!
答案 0 :(得分:0)
好的,你可能正在紧密地做事。添加超时可能会有所帮助。这是我用来刷新父级并关闭弹出窗口的代码。对此进行调整,看看是否有帮助:
refreshParent = function(){
window.opener.reload();
setTimeout(function(){ self.focus(); self.close(); }, 2000);
}
尝试使用:
编辑:根据W3规范从location.reload方法中删除了true参数:
function CloseAndRefresh() {
parent.location.reload();
self.close();
return true;
}
请参阅:http://www.w3schools.com/jsref/met_loc_reload.asp
编辑:不要将其添加为启动脚本,只需将其添加到提交按钮的ClientOnClick,如下所示:
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="return CloseAndRefresh();" OnClick="..." />