我有:
<input type="file" id="f" name="f" onchange="c()" multiple />
Run Code Online (Sandbox Code Playgroud)
每次用户选择文件时,我都会通过将每个元素压f.files入数组来构建所有选定文件的列表:
var Files = [];
function c() {
for (var i=0;i<this.files.length;i++) {
Files.push(this.files[i]);
};
}
Run Code Online (Sandbox Code Playgroud)
在提交表单时,f.files仅包含上次选择操作中的项目,因此我将需要更新自己累积f.files的FileList项目列表:
const upload=document.getElementById("f");
upload.files = files;
Run Code Online (Sandbox Code Playgroud)
但是第二行给出:
未捕获到的TypeError:无法在'HTMLInputElement'上设置'files'属性:提供的值不是'FileList'类型的。
我为它分配一个数组并不高兴。如何FileList从FileList先前收集的元素列表中构造一个对象?
附带问题:我认为Javascript使用动态类型。为什么在这里抱怨类型错误?
javascript ×1