0

我有一个 .aspx 页面,上面有一个链接,然后单击时会使用 .aspx 打开一个新窗口window.open

我需要发回一个整数并将该数字放入一个文本框(这是一个 .NET 控件)。

当我调用window.opener弹出窗口时,我必须引用文本框的 ID。问题是,如果您将内容添加到控制树,ID 会不时更改。

如何从新窗口可靠地引用文本框的 ID?

我也安装了 jQuery,但不确定是否可以在新窗口中使用 jQuery?

4

2 回答 2

2

不要直接从弹出窗口访问元素,而是在弹出窗口可以调用的页面中放置一个函数。在函数中,您可以插入元素的实际 id:

function setTextbox(value) {
   document.getElementById('<%=TheTextBox.ClientID%>').value = value;
}

在弹出窗口中:

window.opener.setTextbox("Hello world!");
于 2009-05-25T16:57:12.327 回答
1

这应该工作

// original window script
var windowHandle = window.open(...);
windowHandle.top.otherWindowTextBox = document.getElementById('idOfTextBox); // or use jQuery

现在在您的弹出窗口中,您可以在打开弹出窗口的页面上引用您的文本框。

// script in popup window.
top.otherWindowTextBox.value = someInteger;
于 2009-05-25T16:52:12.520 回答