繁体   English   中英

JQuery循环遍历所有文件输入字段以获取大小

[英]JQuery Loop Through all File Input Fields to Get Size

我正在尝试遍历所有文件输入字段并设置错误消息,如果任何超过5MB作为形成验证的第一步。

我在提交按钮上使用了click事件。 问题是没有定义“密钥”。

这个表单最多可以有10个文件输入字段,通过AJAX添加,称为images[]

        /* loop through all file inputs to check size */
        $("#my-form").find("input[type='file']").each(function(key, value) {
            var el = this.files[key];
            if(el.size > 5242880 || el.fileSize > 5242880) {
                errorMessage = 'Files must be less than 5MB.';
            }
        });

如果我使用this.files[0]我可以获得第一个字段的大小,但是无法遍历所有元素。 感谢您的输入或其他解决方案。 非常感谢!

你可以做到这一点

$("#my-form").find("input[type=file]").each(function(index, field){
   const file = field.files[0];
   if(file.size > 5242880 || file.fileSize > 5242880) {
      errorMessage = 'Files must be less than 5MB.';
   }
});

这是一个小提琴: https//jsfiddle.net/kmm67nLz/

对于具有多个属性的文件输入

$("#my-form").find("input[type=file]").each(function(index, field){
  for(var i=0;i<field.files.length;i++) {
    const file = field.files[i];
    if(file.size > 5242880 || file.fileSize > 5242880) {
      errorMessage = 'Files must be less than 5MB.';
      alert(errorMessage);
    }
  }
});

这是一个小提琴: https//jsfiddle.net/kmm67nLz/1/

第二个适用于任何单个或多个文件输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM