【发布时间】:2012-05-15 23:19:19
【问题描述】:
我有一个 iframe 中的表单,其输入类型文件带有一个 onchange 事件,只要输入被修改,就会提交表单,然后我在 IE 中得到一个错误,仅适用于其他浏览器。
例如(简化版)
<form id="form1">
<input type="file" id="_file" onchange="document.forms[0].submit();$('#form1').hide()" />
<input type="button" onclick="$('#_file').click();" />
</form>
然后 IE 8 给出这个错误:
SCRIPT5: Access is denied.
我相信这与 IE 认为从用户未触发的事件提交存在安全风险这一事实有关,或者它可能与它发生在 iframe 中的事实有关。关于如何解决这个问题的任何想法?
编辑
看起来问题可能与 input[type:file] 被隐藏的事实有关,它的宽度和 opacity:0 很小。在让它显示并在那里放置一个提交按钮后它可以工作,但我需要它在没有显示输入 [type:file] 且没有提交按钮的情况下工作。但是尝试在 onchange 中显示和提交 input[type:file] 仍然不起作用。
【问题讨论】:
-
这是一个应该有帮助的帖子 - stackoverflow.com/questions/1886547/…
-
我没有看到与我的问题的相关性,我没有动态创建 iframe。
-
无论 iFrame 的创建如何,您都会收到相同的错误。 iFrame 的 document.domain 是什么?是否与父文档匹配?
-
目前是“localhost”(在 onchange 事件中),iframe 所在的页面也显示“localhost”,所以看起来域不同。
标签: javascript jquery html