我有一个html页面,其中我有两个框架集,每个框架集指向不同的html。
现在让我们说,我在第一个框架集(html)中有一个文本框,在我的第二个框架集(html)中有一个按钮。
当我点击按钮时,有人可以告诉我如何隐藏文本框吗?
答案 0 :(得分:1)
未经测试,但它应该是这样的(在你的按钮的onclick-handler中):
parent.frames[1].document.getElementByid('mytextfield').style.display = 'hidden';
// ^^^ here you could also access the frame by its name using ['mysecondframe']
答案 1 :(得分:1)
只有当两个帧位于同一个域中时,才能执行上述所有操作。由于浏览器security policies,如果这些帧不在同一个域上,甚至在同一个协议上,它们就无法相互交互(javascript是不可能的)。
答案 2 :(得分:0)
您可以通过相关框架的getElementById
对象上的document
函数访问该元素(请注意,我们使用目标框架的document
,而不是我们自己的框架)。您可以通过名称从框架集中获取框架 - 框架名称将成为框架集window
对象的属性。
示例(live copy; button frame code):
var textbox = parent.targetFrame.document.getElementById('theTextBox');
textbox.value = "You clicked at " + new Date();
...其中targetFrame
是目标框架的名称。您还可以使用frames[n]
,其中n
是框架集中框架的索引,但我发现名称更加健壮。
以上示例已经过测试,适用于Linux和IE6的Firefox,Chrome和Opera - 因此应该适用于广泛的浏览器。