这是我的场景:我有一个父网页,在我的javascript代码中我打开一个新窗口。这个新窗口是服务器端的aspx页面。此子页面需要在数据库中保存一些数据,保存后会返回一个ID。现在,我需要将此ID从子服务器页面传递给父级的javascript。
基本上我需要子服务器代码来触发: 1)将值返回到父页面的javascript代码 2)关闭自己
这可以接受的方式是什么?
答案 0 :(得分:1)
在父页面中设置变量:
var dbID;
当DB调用从打开的窗口返回时,将其置于打开的窗口的load事件中(如果使用jquery或其他框架,则将其置于ready事件中):
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%>);
答案 1 :(得分:0)
如果您在子窗口中并且假设您的父窗口具有对象 childResult :
window.opener.childResult = "yourIdHere";