从弹出窗口重新加载 jqgrid IE 8
我尝试在 IE8 中单击弹出窗口中的关闭按钮后重新加载 jqgrid。但它给了我几个错误,现在我尝试在页面本身中重新加载它。这意味着不是从弹出窗口,而是在按下弹出窗口中的“关闭”按钮时运行一个功能(位于主页中)。 我收到错误 - 'window.opener.document' 为 null 或不是对象。(在 IE8 中)请在下面找到我的代码 -
弹出窗口函数 -
function closeUserPopup(){
//var x = window.opener.document.getElementById("myjqgrid");
//alert(x);
window.opener.document.callReload();
window.close();
}
父页面中的函数重新加载 jqgrid-
function callReload(){
jq("#mygrid").trigger("reloadGrid");
}
有什么方法可以从弹出窗口重新加载父页面 jqgrid ? ?(在关闭之前)提前致谢。
I try to reload my jqgrid after click on the close button in the popup window in IE8. but it gave me several errors and now i tried to reload it in the page itself. meaning that not from the popup window but run a function(resides in main page) upon press the 'close' button in the popup.
i am getting an error - 'window.opener.document' is null or not an object.(in IE8) please find my code below -
popup window function -
function closeUserPopup(){
//var x = window.opener.document.getElementById("myjqgrid");
//alert(x);
window.opener.document.callReload();
window.close();
}
function in the parent page to reload jqgrid-
function callReload(){
jq("#mygrid").trigger("reloadGrid");
}
is there any way to reload the parent page jqgrid from the popup window ? ?( before it get closed) Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它不是
window.opener.document
而是window.opener
尝试检查之前的开启器是否仍然有效。
我通常会做这样的事情:
一点建议。
我已经放弃了这样的弹出窗口,因为它们很难管理。
我倾向于使用 jQuery UI 对话框,这样我就可以在同一页面上管理所有内容。
更新
如果您使用
window.showModalDialog();
,事情会更加简单。下面是一个示例:
由于您正在创建一个对话框,因此客户端脚本进程将停止,直到您关闭弹出窗口。此时,您的 JavaScript 会重新获得控制权并可以触发一些其他操作。
PS:您可以像我一样使用返回值作为状态 此处。
It's not
window.opener.document
butwindow.opener
Try to check if the opener is still valid before.
I usually do something like this:
A little suggestion.
I've given up with popups like these cause they're hard to manage.
I tend to use a jQuery UI Dialog so I can manage everything on the same page.
UPDATE
If you're using
window.showModalDialog();
things are even more simple.Here's an example:
Since you're creating a dialog the client-script process stops until you close the popup window. At that point, your javascript gets the control back and can fire some other actions.
PS: You can use - as I did - a return value as state here.
可能不是最佳实践,但是:
Probably not best practice, but: