如何从子javascript页面访问父iframe元素?

时间:2009-09-20 04:18:47

标签: javascript iframe

我有2页 - 父母n。

在父页面中,我有一个iframe,其值我想在子页面的javascript中获取。有什么办法吗?....请建议。

6 个答案:

答案 0 :(得分:8)

实际上只需要iframeElement

来自子文档:

 var iframe = frameElement;

你已经完成了。

答案 1 :(得分:7)

假设您的页面和框架结构如下

parent (contains iframe)
   |--> child page (attempts to access iframe in parent)

那个

  1. iframe和其他网页的src是相同的
  2. iframe的名称是'iFrame',
  3. 您可以使用以下来自子代的JavaScript语句访问iframe中名为“iFrameElement”的元素:

    parent.frames['iFrame'].document.getElementById('iFrameElement').value;
    

    或仅包含iframe

    的父项中的以下内容
    frames['iFrame'].document.getElementById('iFrameElement').value;
    

    由于帧名在运行时是不确定的,因此您可以恢复使用window.frames数组中的帧编号,如下所示(来自子项)

    //assuming frames[0] refers to the iframe
    parent.window.frames[0].document.getElementById('iFrameElement').value;
    

    或来自父母

    //assuming frames[0] refers to the iframe
    window.frames[0].document.getElementById('iFrameElement').value;
    

答案 2 :(得分:2)

使用

parent.getElementById('elementId').value;

获取元素。如果您有多个嵌套的iframe,则可以使用

获取根父级
top.getElementById('elementId').value;

要么适合你的情况。

答案 3 :(得分:1)

您可以使用

window.parent.getElementById('YOUR ID').value();

从父元素中获取id为“YOUR ID”的input元素的值。

答案 4 :(得分:0)

尝试为iframe指定名称并像这样访问iframe

window.parent.<iframe_name>.document.getElementById()

答案 5 :(得分:0)

您可以通过以下方式从iframe内部获取父文档中的iframe元素:

var iframe = parent.document.getElementById(window.frameElement.id);