使用javascript访问iframe的字段

时间:2012-09-29 21:33:25

标签: javascript forms iframe dom

我读到以下内容应该可以使用javascript访问iframe的内容:

document.getElementById("iframe_name").contentDocument

document.getElementyById("iframe_name").contentWindow.document

然而,这些方法都不适合我。我尝试访问的iframe是我创建的Google表单。这是我为我的网站创建的注册表单。我想对用户输入的某些字段进行一些计算,然后在iframe之后显示它。使用javascript访问这些字段是我能想到的最好方法。为什么我不能访问它?有没有更好的方法来实现我的目标?谢谢。

3 个答案:

答案 0 :(得分:1)

您无法从服务器访问google.com等外部网页。

答案 1 :(得分:0)

你拥有的是正确的。这是一个更完整的序列,应该跨浏览器工作:

var ifr=document.getElementById("iframe_name");
var doc=ifr.contentWindow||ifr.contentDocument;
if (doc.document) doc=doc.document;

更新:如另一个答案所述,这不会跨域工作(例如,如果您尝试从mydomain.com访问google.com)。

答案 2 :(得分:0)

我不知道你想做什么,但也许这会对你有帮助..

我用它来重新加载框架

document.getElementById('graphFrame').contentDocument.location.reload(true);

您可以看到location属性与iframe相关。

接下来,我正在改变iframe中的div。

top.frames["graphFrame"].document.getElementById('right_example');

所以top.frames是页面框架的数组。然后我正在寻找一个dom元素,他的ID是“right_example”然后你就可以随心所欲地做到这一点。