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