将值从一个iframe发布到另一个iframe

时间:2010-07-02 07:41:44

标签: javascript html

我的页面中有两个iFrame,我希望输入字段的值从一个iFrame到另一个iFrame的输入字段。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

您需要在父级中设置隐藏字段或其他内容:

window.opener.document.getElementById(Client ID of Hidden Field).value = Selected IDs;

然后,您需要设置第二个iFrame的src属性,并将该值作为查询字符串的一部分附加

类似的东西:

<iframe id='iFrame2' src='/myPage.html?val=myValue' ></iFrame>

您可以在javascript中执行此操作,当我使用asp.net时,因为场景不同但可能类似于:

$('#iFrame2').attr('src', '/myPage.html?val=' + $('#myHiddenField').val());

答案 1 :(得分:0)

不是最简单的。我们可以假设IFRAMES和父文档都属于同一个域,并且所有文档类型都相同吗?如果没有,安全限制可能会阻止你。

此外,您有什么浏览器可以使用它?

答案 2 :(得分:0)

好的,鉴于你上面的答案是关于在同一个域中等等。

如果您想从其他IFRAME发送/接收,有关设置IFRAME的URL的答案将有效。但是,我想读取它,因为你想在现有字段中设置一个值。

如果是这种情况,您需要执行以下操作: 1.假设IFRAME具有id I1和I2 2.将此代码放在父页面上(您可以触发/将其放在子级中,但由于您需要处理加载/就绪状态并执行其他查找,因此它会变得更加复杂。

var if1 = document.getElementbyId('I1');
var if2 = document.getElementbyId('I2');
//Or use $get from AJAX framework, etc

var doc1 = if1.document;
var doc2 = if2.document;
//These may throw security or load exceptions if the IFRAMES are not loaded, cross domain, or do not contain HTML.

doc2.getElementById('targetElement').value = doc1.getElementById('sourceElement').value;

//您应该对现有元素进行常规检查等

相关问题