下面是我的情况:我有一个父网页,在我的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";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top