我的页面中有两个iFrame,我希望输入字段的值从一个iFrame到另一个iFrame的输入字段。我怎么能这样做?
答案 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;
//您应该对现有元素进行常规检查等