3

我在 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] 尝试仍然不起作用。

4

1 回答 1

4

似乎问题是当您以编程方式设置和提交文件输入时 IE 不喜欢它。现在发现这个问题所以放弃了。当用户在 IE 中时,我选择使用 Jquery uploadify 作为后备。这对闪存产生了不必要的依赖,但这是我能想到的最佳选择。

于 2012-05-08T05:28:46.527 回答