6

在一个表单中,我有一个使用 jquery 和 css 皮肤的文件输入以及一个提交按钮。

<form action="#" method="POST">
  <input style="width:150px" type="hidden" name="MAX_FILE_SIZE" value="40000"/>
  <div class="l-input-file">
    <input style="margin-bottom: 0px" type="file" id="myInput" name="myInput" size="16" />
  </div>
  <div><button type="submit" class="btn-black">Continuer</button></div>
</form>

http://jsfiddle.net/CsL9t/

这里的问题只出现在 IE10 上:选择文件后,必须单击提交按钮 2 次才能提交表单。

当文件输入更改时,我尝试强制将焦点放在按钮上,但这没有帮助。

我尝试使用 jQuery 触发点击,

jQuery('#myInput').parents('form').find("button[type='submit']").click();

但在第三次提交之前,我收到了 2 次“访问被拒绝”的消息。

任何意见或建议将不胜感激。谢谢

4

1 回答 1

5

$input.trigger('click');是导致访问被拒绝错误的原因。
在文件输入上触发单击事件会污染 IE 中的文件输入,从而阻止(在某种程度上)您提交表单或将其与FormData对象一起使用。

另请参阅IE8 上的访问被拒绝错误

于 2013-09-05T21:27:28.903 回答