* 十一 2019-12-18 15:26 采纳率: 0%
浏览 308

js控制文件上传,监听事件进不去

1.关于input file 上传多个文件js限制控制,addEventListener进不去事件
2.第一次上传三个,可以进去,第二次上传3个图片就进不去,第三次上传2个就可以进去,不知道为什么。

<input type="file" value="上传附件" multiple="multiple"  id="uploadAttachment"/>
var test = document.getElementById('uploadAttachment');
var Length = 0;
    var Size = 0;
    test.addEventListener('change', function() {
        // 获取上传的文件
        var t_files = this.files;
        // 定义拼接元素的容器
        var str = '';
        // 获取总文件的大小
        for(x = 0; x < t_files.length; x++) {
            Size = Size + t_files[x].size;
        }
        // 不能超出60M
         if(Size > 62914560) {
            alert("文件总大小超过60M,上传失败");
        // 最大数量为5 
        }else if(Length + t_files.length >5){
            alert('总数量不能超出5个');
        }else{
            for(var i = 0, len = t_files.length; i < len; i++) {
                var ThisFile = t_files[i].name;
                // 判断每一个文件的大小
                if(t_files[i].size > 20971520) {
                    alert("文件:" + ThisFile + " 大小超过20M,上传失败");
                }else {
                    // 拼接元素
                    var FileType = ThisFile.substr(ThisFile.lastIndexOf("."));;
                    str += '<tr class="FileClick"><td>' + ThisFile + '</td><td>' + FileType + '</td><td><input type="text" name="fname" /></td></tr>';
                    Length++;
                }
            };
            $("#File").append(str);
        }
    }, true);
  • 写回答

1条回答 默认 最新

  • 依旧无忌 2019-12-18 16:51
    关注

    是不是因为你第二次的三个和第一次的三个一样,并没有改变也就没有change,建议传完清空值

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!