我如何检查如果在iframe文本字段是空的

How do I check if a textfield in iframe is empty?

本文关键字:文本 iframe 字段 如果 何检查 检查      更新时间:2023-09-26

这个问题基本上概括了这一点。我正在尝试做一些类似于Gmail的事情,如果你在文本框中输入了东西,那么网站会提示你确认是否要离开页面。

但是如果文本字段在iframe中呢?显然,我可以分配iframe一个id,但有任何javascript命令或东西,可以检查如果一个字段在iframe是空的或不是?这可能吗?

编辑: iframe源和iframe嵌入的页面来自同一域

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

是的,这是可能的,你只需要用contentDocument访问<iframe>文档。

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

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

MDN

就像设置iframe'd页面是顶级页面一样设置onbeforeunload。如果您试图在父框架或子框架中导航,它将被确认符打断。

使用JQuery可以访问iframe内容:

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