-
19-09-2019 - |
题
下面是我的情况:我有一个父网页,在我的javascript代码我打开一个新窗口。这个新窗口是一个服务器端的aspx页面。此子页面需要保存在数据库中的一些数据,并保存后,会返回一个ID。现在,我需要从子服务器页面这个ID传递给家长的javascript。
基本上我所需要的子服务器代码触发: 1)的值返回到父页面的JavaScript代码 2)关闭本身
什么是做到这一点的可接受的方式?
解决方案
在父页面设置一个变量:
var dbID;
当从打开的窗口中的DB调用返回时,把这个在打开的窗口的加载事件(或者如果使用jquery或另一个框架就绪事件):
window.opener.dbID = <%= newID %>
// or whatever your framework's technique is for this :-)
window.close();
您还可以调用对父一个全局函数使用相同的技术,以及
在 “父” 页:
function handleNewDBID(dbID) { alert("lookit me, i got an ID! " + dbID); }
和打开的窗口上:
window.opener.handleNewDBID(<%=newID%>);
其他提示
如果您在子窗口,并假设你的父窗口具有对象的 childResult 的:
window.opener.childResult = "yourIdHere";
不隶属于 StackOverflow