在文件选择器中禁用下拉列表[重复]

Posted

技术标签:

【中文标题】在文件选择器中禁用下拉列表[重复]【英文标题】:Disable dropdown list in file selector [duplicate] 【发布时间】:2017-02-28 23:30:49 【问题描述】:

我设计了一个使用 html/CSS 和 Jquery 作为前端的上传器,后端在 c# 中。我想知道有没有办法禁用这个文件选择器中显示“自定义文件”的下拉列表,或者有没有办法让这个列表中除了我允许的扩展名之外没有其他选项出现?

提前谢谢..

【问题讨论】:

【参考方案1】:

accept attribute 用于input type file

<input type="file" name="my-image" id="image" accept="image/*" />

具体的扩展可以用,分隔

<input type="file" name="my-image" id="image" accept="image/gif, image/jpeg, image/png" />

编辑

我认为这完全超出了我们的编程范围,它依赖于浏览器。

我希望通过编程验证来检查文件扩展名。

$('#my_file_field').change(function()
    var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
    if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) 
        alert('invalid extension!');
    

【讨论】:

我猜 OP 已经在使用accept 属性,因为他在下拉列表文件对话框中有Custom Files 选项。但是,我没有看到任何其他方式 感谢您的帮助。正如 A. Wolff 所说,我已经在使用 accept 属性。我的问题是我不希望该下拉列表中有任何其他选项。 @ArnavDhiman 我建议在 HTML 输入标签中提供允许的扩展名,使用接受和其他可以使用 change 验证的内容。

以上是关于在文件选择器中禁用下拉列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在日期选择器中未显示月份和年份下拉列表中的数据

根据 python plotly dash 中先前单选项目/下拉列表中的选择禁用下拉列表

使选择的下拉列表只读(未禁用)

用户从下拉列表中选择项目后禁用 Android AutoCompleteTextView

根据jquery中的第一个下拉列表禁用下拉列表

使用AngularJS在下拉列表中按选定值启用/禁用按钮