如何在JQuery中检查input文件是否为空

JS新品。
我试图检查,如果文件input元素是空的时候提交与jQuery / JavaScript的forms。 我经历了一堆解决scheme,没有任何工作为我。 我试图避免/ c / fakepath(除非没有其他选项)

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

这不起作用:

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

我可以得到文件名的唯一方法是如果我使用以下内容:

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

如果没有可用的文件,代码会抛出一个错误: cannot read property name of undefined因为数组没有设置。 但我不知道如何做任何error handling与此。

如何正确抓取文件input元素videoUploadFile ,检查是否为空,如果是空的则抛出错误信息?

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

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

这是它的jQuery版本:

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

要通过使用jQuery使用文件长度来检查input文件是否为空,我们需要使用像下面这样的index

var vidFileLength = $("#videoUploadFile")[0].files.length;

问题:如何检查文件是否为空?

Ans:我使用这个Jquery代码解决了这个问题

 //If your file Is Empty : if (jQuery('#videoUploadFile').val() == '') { $('#message').html("Please Attach File"); }else { alert('not work'); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="file" id="videoUploadFile"> <br> <br> <div id="message"></div>