在javascript中将变量传递给child?

时间:2009-11-12 19:56:38

标签: javascript html

我想将父窗口中的变量传递给iframe html文档(子)。

示例:var myValue = 10; 想要将myValue传递给子元素(隐藏输入)......

我该怎么做?

5 个答案:

答案 0 :(得分:2)

您的问题在细节上有点吝啬,但原则上您可以找到IFRAME,例如使用document.getElementById()然后在其上使用contentDocument来获取其文档。再次使用getElementById(),您可以访问所需的子元素。

显然你必须给出两个元素“id”属性。

我认为IE不知道contentDocument,所以你可能不得不在那里使用contentWindow.document。

答案 1 :(得分:1)

我认为这应该可以帮到你:

http://cross-browser.com/talk/inter-frame_comm.html

答案 2 :(得分:1)

从父母的背景来看: window.frames包含您想要的框架。如果框架在同一个域中, 使用getElementById / getElementsByName找到隐藏的输入并为其赋值。

答案 3 :(得分:1)

继Steffen的回答之后,我今天早些时候做了类似的事。

if(document.getElementById("foo").document) { // IE
    searchableContent = document.getElementById("foo").contentWindow.document;
}
if(document.getElementById("foo").contentDocument) { // Firefox, Chrome
    searchableContent = document.getElementById("foo").contentDocument;
}

Object detection可能对你很感兴趣。

答案 4 :(得分:0)

我认为这应该有效。可能需要稍微调整一下。

var myIframe = document.getElementById('iFrameId');

if ( myIframe.contentDocument ) { // DOM
    myIframe.contentDocument.getElementById('hiddenField').value = myValue;

} else if ( myIframe.contentWindow ) { // IE win
    myIframe.contentWindow.document.getElementById('hiddenField').value = myValue;
}