【发布时间】:2014-09-11 17:43:55
【问题描述】:
全新的 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,检查是否为空,如果为空则抛出错误信息?
【问题讨论】:
-
检查
.files.length? -
如果表单上有多个文件,也可以过滤非空文件:
var files = $('#formbody').find('input[type=file]').filter(function() { return $(this)[0].files.length > 0; });
标签: javascript jquery html