<input />属性的超出字段&#34;接受&#34;在Internet Explorer中

时间:2017-02-07 13:36:47

标签: html

我想指定我可以上传的文件,例如只有证书enter image description here。在Firefox和Chrome中,这种行为是可以的,但是当我尝试在IE中指定文件类型时,有两个附加字段:images和html。为什么?我想删除它们。

代码是:

&#13;
&#13;
<input accept=".cer,.pem,.der" id="certRegField" name="user_cert" type="file">
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

由于IE中的某个人可以添加其他格式,即使是从其他浏览器中选择&#34;所有文件&#34;,我建议您添加对用户之后添加的文件类型的检查使用javascript和jquery添加了文件。下面的代码检查用户是否添加了一个带有您接受的扩展名的文件,如果没有,它会提醒消息,用户必须再次选择一个文件。

代码:

// 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/

来源: