1

我有一个父 HTML 窗口和一个弹出窗口。当我单击弹出窗口中的按钮时,我想访问父窗口中的字段。

我已经尝试过了,但它在弹出窗口中不起作用:

top.document.getElementById('itemCounter').innerHTML = '1';

它抛出以下异常:

Javascript selector - `top.document.getElementById('itemCounter')` returns null from popup screen but return object `top.document.getElementById('itemCounter')` from parent screen.

我正在使用 window.open 打开弹出窗口。

有谁知道如何从弹出窗口访问父窗口中的字段?

谢谢

4

5 回答 5

1

topparent适用于 IFRAME 弹出窗口。如果您使用 来打开一个全新的窗口window.open(),您需要使用opener来访问打开您的弹出窗口的页面。所以,试试:

opener.document.getElementById('itemCounter').innerHTML = '1';
于 2013-05-02T10:35:12.653 回答
0

你应该试试:

alert(window.opener...);

使用类似的东西window.opener.document.getElementById('id')。我有时使用它来查看它是否是正确的父级。

于 2013-05-02T10:37:39.623 回答
0

我的问题解决了。我用了 -

window.opener.top.document.getElementById('id').innerHTML = '1';

我想在父窗口中访问 iFrame 中的对象。谢谢大家

于 2013-05-02T11:23:44.923 回答
0

您应该能够使用以下代码访问弹出窗口的父级 - this.parent。这应该返回父窗口对象。您可以进一步使用该对象进行更多操作。

于 2013-05-02T10:24:30.443 回答
0

尝试使用 Opener 对象中的 document.getElementById() 而不是顶部对象。

popupWinOpener.document.getElementById('itemCounter').innerHTML = '1';
于 2013-05-02T10:44:23.317 回答