如何在jQuery中检查输入文件是否为空

2022-08-30 04:18:33

对JS来说是全新的。
我正在尝试在使用jQuery / JavaScript提交表单时检查文件输入元素是否为空。我经历了一堆解决方案,没有什么对我有用。我试图避免(除非没有其他选择)/c/fakepath

<input type="file" name="videoFile" id="videoUploadFile" />

这不起作用:

var vidFile = $("#videoUploadFile").value;

我获得文件名的唯一方法是使用以下内容:

var vidFile = document.getElementById("videoUploadFile").files[0].name;

如果没有可用的文件,代码将引发错误:

无法读取未定义的属性名称

这是有道理的,因为数组未设置。但我不知道如何对此进行任何错误处理。

如何正确抓取文件输入元素,检查它是否为空,如果为空,则抛出错误消息?videoUploadFile


答案 1

只需检查文件属性的长度,该属性是输入元素上包含的 FileList 对象

if( document.getElementById("videoUploadFile").files.length == 0 ){
    console.log("no files selected");
}

答案 2

这是它的jQuery版本:

if ($('#videoUploadFile').get(0).files.length === 0) {
    console.log("No files selected.");
}