それは「すべてのファイル」を選択しても、他のブラウザから、別の形式を追加しIEから誰かのために可能ですので、私があなたをお勧めしますjavascriptとjqueryを使用して、ユーザーがファイルを追加した後に追加されたファイルタイプのチェックを追加します。以下のコードは、ユーザーがあなたの受け入れられた拡張機能の1つでファイルを追加したかどうかをチェックし、そうでなければメッセージを警告し、ユーザーはファイルを再度選択する必要があります。
コード:
// To add the jquery library:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
// HTML:
<input accept=".cer,.pem,.der" id="certRegField" name="user_cert" type="file">
// Javascript:
<script type="text/javascript">
$(function(){
$('#certRegField').change(function(){
var url = $(this).val();
var ext = url.substring(url.lastIndexOf('.') + 1).toLowerCase();
if (!(ext == "cer" || ext == "pem" || ext == "der")){
document.getElementById("certRegField").value = "";
alert("Unaccepted file format, try again.");
}
});
});
</script>
JSFiddle:http://jsfiddle.net/stN8U/222/
出典:
を見てみましょうhttp://stackoverflow.com/questions/2505334/accept-attribute-in-input-file-is-not-working – k97513
@CBroe - そのウィキページは古くなっています(それについても警告があります) 。英語版はより良いです:https://developer.mozilla.org/en/docs/Web/HTML/Element/Input – Quentin
なぜ私はadditinalフィールド "画像"と "Html"を持っていますか?私はどこにでもそれらを指定しなかった。しかし、彼らは存在します。 – goodgrief