如何检查iframe中的文本字段是否为空?

时间:2013-01-15 02:12:06

标签: javascript iframe textfield

这个问题几乎总结了一下。我正在尝试执行类似于Gmail的操作,如果您在文本字段中输入了内容,则网站会提示您确认是否要离开该页面。

但是,如果相关的文字字段位于iframe中呢?显然我可以为iframe分配一个id,但是有没有javascript命令或者可以检查iframe中的字段是否为空的东西?这甚至可能吗?

修改:嵌入iframe的iframe源和页面来自同一个域。

3 个答案:

答案 0 :(得分:2)

var value = document.getElementById('iframeID').contentDocument
                    .getElementById('theTextBoxId').value;

是的,有可能,您只需要使用<iframe>访问contentDocument文档。

  

从DOM iframe元素,脚本可以通过contentWindow属性访问包含的HTML页面的窗口对象。 contentDocument属性引用iframe中的文档元素(这相当于contentWindow.document),但IE8之前的Internet Explorer版本不支持。

     

尝试访问框架内容的脚本受制于同源策略,如果从其他域加载,则无法访问其他窗口对象中的大多数属性。

MDN

答案 1 :(得分:1)

只需设置onbeforeunload,就好像iframe的页面是顶级页面一样。如果您尝试在父框架或子框架中导航,它将被确认中断。

答案 2 :(得分:1)

使用JQuery,您可以访问iframe内容:

$("#iFrame").contents().find("#text")