数组中每个文件的javascript长度

javascript length of each file in an array

本文关键字:javascript 长度 文件 数组      更新时间:2023-09-26

这里有一个文件数组,我想检查每个文件的长度。如果长度为零,则返回false。

function check()
{
    var files = ["#File1","#File2","#File3"];
    for (var i = 0; i < files.length; i++) {
                if ($("#").find(files[i].val().length == 0)) {
                    return false
            }
    }
}

我在这里得到了一个异常"不是一个有效的函数",有人能告诉我这个检查每个数组元素是否有值的语句出了什么问题吗。

if ($("#").find(files[i].val().length == 0))

更换

if ($("#").find(files[i].val().length == 0)) {

通过

if ($(files[i]).val().length == 0) {

假设(可能不正确,因为有点不清楚)元素实际上是<input type="file">输入,并且是您想要的所选文件的大小而不是文件名,您可以检查每个元素的files属性,并获得该数组中每个元素的size属性:

$('#File1').on('change', function() {
  alert(this.files[0].size);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="File1">

据我所知,您想检查是否所有文件都在输入字段中?你的支票可能是这样的:

if ($(files[i]).val().length == 0)

我准备了一支简单的笔来展示函数check()如何在按钮上工作:http://codepen.io/rias/pen/emjxJv

如果您给它们一个像.file-input这样的公共类,并使用jQuery对它们进行迭代,那么您也可以对所有输入字段进行迭代:

function check () {
  $('.file-input).each(function () {
    if ($(this).val() == 0) {
      return false;
    }
  });
  return true; //return true, if everything is okay!
}