0

这是我的场景:我有一个父网页,在我的 javascript 代码中打开一个新窗口。这个新窗口是一个服务器端的 aspx 页面。这个子页面需要在数据库中保存一些数据,保存后返回一个ID。现在,我需要将此 ID 从子服务器页面传递给父的 javascript。

本质上我需要子服务器代码来触发:1)将值返回给父页面的javascript代码2)关闭自身

什么是可以接受的方法?

4

2 回答 2

1

在父页面中设置一个变量:

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%>);
于 2009-11-12T23:19:54.223 回答
0

如果您在子窗口中并假设您的父窗口有对象childResult

window.opener.childResult = "yourIdHere";
于 2009-11-12T23:19:18.660 回答