使用javascript访问iframe的字段

使用javascript访问iframe的字段,javascript,forms,iframe,dom,Javascript,Forms,Iframe,Dom,我了解到,为了使用javascript访问iframe的内容,应该使用以下方法: document.getElementById("iframe_name").contentDocument 或 然而,这两种方法对我都不起作用。我试图访问的iframe是我创建的一个Google表单。这是我为我的网站创建的注册表格。我想对用户输入的一些字段进行一些计算,然后在iframe之后显示它。使用javascript访问这些字段是我能想到的最好的方法。为什么我不能访问它?有没有更好的方法来实现我的目标?谢

我了解到,为了使用javascript访问iframe的内容,应该使用以下方法:

document.getElementById("iframe_name").contentDocument


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

你所说的是正确的。以下是一个更完整的序列,可以跨浏览器工作:

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

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

您所拥有的是正确的。以下是一个更完整的序列,可以跨浏览器工作:

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

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

我不知道您希望做什么,但这可能会对您有所帮助

我用这个来重新装帧

document.getElementById('graphFrame').contentDocument.location.reload(true);
可以看到location属性与iframe相关

接下来,我将在这样的Iframe中更改一个div

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

所以top.frames是页面框架的数组。然后我搜索一个ID为“right\u example”的dom元素,然后你可以用它做任何你想做的事情。

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

我用这个来重新装帧

document.getElementById('graphFrame').contentDocument.location.reload(true);
可以看到location属性与iframe相关

接下来,我将在这样的Iframe中更改一个div

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

所以top.frames是页面框架的数组。然后我搜索一个ID为“right\u example”的dom元素,然后你可以用它做任何你想做的事情。

你不能从你的服务器访问像google.com这样的外部页面。

你不能从你的服务器访问像google.com这样的外部页面。

这看起来是正确的。是什么告诉你这些方法不起作用的?这看起来是正确的。是什么告诉你这些方法不起作用的?是的,我想就是这样。谢谢无论如何,我最后做的就是简单地复制iframe中的代码(这只是一个Google表单),然后我可以任意操作它,也可以访问它。最后,它所能做的就是发布请求(到谷歌为表单创建的特定URL)。谢谢大家。是的,我想就是这个了。谢谢无论如何,我最后做的就是简单地复制iframe中的代码(这只是一个Google表单),然后我可以任意操作它,也可以访问它。最后,它所能做的就是发布请求(到谷歌为表单创建的特定URL)。谢谢大家。