javascript - 如何在多输入表单中检查文件上传的扩展名?
问题描述
我要求用户在填写表格时上传 4 个不同的文件。
以下是其中一个输入的示例:
<div class="custom-file">
<input type="file" class="custom-file-input" accept="video/*" id="video1" required>
<label class="custom-file-label" for="video1"> drop the video</label>
</div>
我希望用户只选择 mp4 文件类型。如果他们选择了错误的文件类型,我希望出现一个框。我不希望这个框出现在表单提交中,这是网络上所有解决方案似乎都可以解决的问题。
相反,当用户浏览文件,选择文件然后单击“打开”时,我希望出现一个框来告诉用户选择具有批准扩展名的文件。
有没有办法做到这一点,而不是在提交表单的时候?
解决方案
如果您不想显示任何警报,您可以简单地更改输入标签,如下所示
<input type="file" class="custom-file-input" accept="video/mp4,video/x-m4v,video/*" id="video1" required>
如果您真的想显示一条消息,您可以使用 oninput 属性调用警报。尝试关注
function inputHandler(value)
{
if(!value.endsWith("mp4"))
{
alert("only mp4 is allowed");
}
}
<div class="custom-file">
<input
type="file"
class="custom-file-input"
accept="video/*"
id="video1"
required
oninput="inputHandler(this.value)"
/>
<label class="custom-file-label" for="video1"> drop the video</label>
</div>
推荐阅读
- javascript - 将 HTML 对象保存/记录到文件中
- swift - 如何使用具有关联类型的协议初始化通用枚举?
- python - 是否可以使用 python 抓取包含在 html 伪元素中的数据?
- laravel - 检查任何日期是否超过 5 年
- android - Android NDK:如何查找 PIE 二进制文件的负载重定位/如何获取 _r_debug.r_map->l_addr
- entity-framework-core - 如何将 EF Core 工具更新到最新版本
- mongodb - 用于统计mongodb主字符串中子字符串出现次数的聚合
- javascript - 映射数组时如何始终以相同的顺序显示项目?
- database - 为什么认为数据库不同于文件系统
- python - 如何在python中实现堆栈?