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

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,建议传完清空值

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器