0

这个问题几乎概括了它。我正在尝试做一些类似于 Gmail 的事情,如果您在文本字段中输入了内容,那么网站会提示您确认是否要离开该页面。

但是,如果有问题的文本字段在 iframe 中怎么办?显然我可以为 iframe 分配一个 id,但是是否有任何 javascript 命令或可以检查 iframe 中的字段是否为空的东西?这甚至可能吗?

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

4

3 回答 3

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

是的,有可能,您只需要<iframe>使用contentDocument.

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

试图访问框架内容的脚本受同源策略的约束,并且如果它是从不同的域加载的,则无法访问其他窗口对象中的大部分属性。

MDN

于 2013-01-15T02:14:29.397 回答
1

就像onbeforeunloadiframe'd 页面是顶级页面一样设置。如果您尝试在父框架或子框架中导航离开,则会被确认中断。

于 2013-01-15T02:16:09.617 回答
1

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

$("#iFrame").contents().find("#text")
于 2013-01-15T02:19:13.467 回答