输入元素的“Accept”属性不起作用

问题描述 投票:0回答:4

我在 html 中遇到了一个浏览文件对话框控制标签,该标签是

<input id="myfile" name="myfile" type="file" accept="application/pdf"/>

但是“accept”属性似乎没有任何效果。我正在使用 Internet Explorer 8。

html cross-browser html-input
4个回答
15
投票

根据 w3schools (http://www.w3schools.com/TAGS/att_input_accept.asp),任何主要浏览器都不正确支持“accept”属性。文件浏览器对话框内的过滤器将不起作用。

您可以在表单 onsubmit 事件上使用 javascript 验证来验证文件类型是否正确,否则返回 false。


1
投票

分隔符

HTML5 accept delimiter

我可以在某些现代浏览器中确认,如果您希望显示文件对话框类型,则需要使用逗号作为分隔符:

<input accept="image/apng, image/jpeg, image/png" name="example" type="file" />

0
投票

浏览器似乎无法遵循此处找到的 IANA 规范: http://www.iana.org/assignments/media-types/media-types.xhtml

就我而言, application/pkcs* 媒体类型根本不起作用,而由于某种原因 application/x-pkcs12 在 chrome 中工作,在 IE 中部分(.p12)工作。 Firefox 似乎完全没有注意到。

我还在这里发现了更乐观的讨论。 文件输入“accept”属性 - 有用吗?

因此,最好的描述是“可能不支持不常见的格式”,并且 x-pkcs 与 pkcs 的混淆在我的情况下或多或少无法使用。


0
投票

我知道这是一个老问题,但我发现对我来说这是我的浏览器缓存。一旦我以隐身方式打开,它就工作得很好。

© www.soinside.com 2019 - 2024. All rights reserved.