2009-01-25 49 views
11

我试图访问表单及其元素。表单位于iframe中,访问表单的JavaScript代码位于主文档中。访问iframe中的表单

我不确定还有什么我应该问的问题,所以请让我知道如果我需要添加其他东西。

(形式和主页在同一个域)

感谢

回答

14
var ifr = document.getElementById(yourIframeId); 
var ifrDoc = ifr.contentDocument || ifr.contentWindow.document; 
var theForm = ifrDoc.getElementById(yourFormId); 

或者你可以在那台变量parent到窗体框架的一些代码,但我不会”不要相信那种方法。

+1

未捕获抛出:DOMException:无法读取“HTMLIFrameElement”的“contentDocument”属性:阻止了原产框架,它不会为两个不同的领域工作。 – 2017-02-21 15:36:53

+0

你有什么建议可以使这项工作的跨域也? – 2017-02-21 15:37:52

3

如果您的iframe具有name属性,则可以将其用作窗口名称。如果框架的名称是“myframe”:

myframe.document.getElementById("myform") // gives you the form element