【发布时间】:2013-08-29 10:02:31
【问题描述】:
我有一个输入 type=file 被按钮的 onclick 事件点击。
提交包含此输入的表单时,IE 10 出现问题 - 文件输入获得焦点并失去其值 - 并且表单未提交。
编辑:文件浏览器确实打开了,它确实获得了价值,只是在提交时失去了价值。
我希望有一个解决方案,如果没有的话,是一种不同的方法来实现相同的结果。
代码如下:
<form action=".." method="post" enctype="multipart/form-data">
<input type="file" id="file" name="file">
<button type="button" onclick="$('#file').click();">Upload File</button>
<button type="submit">Submit</button>
</form>
实际上我隐藏了#file(因此是.click()),但我知道这不是问题,因为我也用#file visible 对其进行了测试。我认为 .click() 以某种方式导致了问题,但我需要一种解决方法。
【问题讨论】:
-
文件输入生成自己的按钮。为什么要添加你的?
-
它必须以特定方式设置样式。通过隐藏文件输入并使用带有 onclick 的按钮,这很容易实现...为这个错误保存。
-
你跨浏览器测试过这个吗?我敢肯定,当文件输入被隐藏时,某些浏览器在允许其他输入打开打开文件对话框时非常挑剔。
-
可能想采用这种方法:stackoverflow.com/a/2048060/1167867
-
它适用于 Chrome。不在IE10中。不确定早期的 IE。
标签: jquery html forms file input