简体   繁体   中英

'Accept' attribute of input element is not working

I came across a browse file dialog-control tag in html and the tag was

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

but the 'accept' attribute doesn't seems to have any effect. I am using Internet Explorer 8.

according to the w3schools ( http://www.w3schools.com/TAGS/att_input_accept.asp ), the 'accept' attribute is not properly supported by any of the major browsers. The filter inside the file browser dialog will not work.

You could use a javascript validation on the form onsubmit event to verify if the file type is correct, returning false otherwise.

It seems like browsers have trouble following the IANA specifications found here: http://www.iana.org/assignments/media-types/media-types.xhtml

In my case, the application/pkcs* media types don't work at all, while for some reason application/x-pkcs12 works in chrome and partially(.p12) in IE. Firefox seems completely oblivious.

I also found this more optimistic discussion over here. File input 'accept' attribute - is it useful?

So, the best description would be "probably unsupported for uncommon formats", and with the x-pkcs vs pkcs confusion more or less unusable in my case.

Delimiter

HTML5 接受分隔符

I can confirm in some modern browsers that if you want the file dialog types to appear you need to use a comma as a delimiter:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM