输入类型=文件多个,删除项目
input type=file multiple, delete items
html:
<input accept="image/*" class="" id="my_pics" multiple="multiple" name="pics" required="true" type="file" />
.js:
var files = document.getElementById('my_pics').files;
files.splice(1,2)
//TypeError: Object #<FileList> has no method 'splice'
delete files.item(2)
// true, but nothing happens with "2"
delete files[2]
// false, result is the same
我有一个包含多个文件的表单,我只需要在一次输入中在服务器上上传有限数量的图像(例如 5 张),但我的代码不起作用。
如何解决?谢谢。
您无法
删除它,因为它是FileList
对象中指向的File
对象,因此会出现上述错误。但是,您可以循环访问FileList
,并且只将所需的项推送到数组上,然后可以修改该数组:
var files = document.getElementById('my_pics').files;
var newList = [];
for(var i = 0; i < files.length; i++)
{
if(i !== 2)
{
newList.push(files.item(i));
}
}
从这个答案中可以看出,您无法delete
实际对象。只能删除对对象的引用。因此,即使它适用于FileList
对象(它不起作用),它也只会将该元素设置为等于 undefined
.
相关文章:
- 如何从 HTML 查询中删除项目
- 如何在NativeScript中从列表中删除项目时设置动画
- 如何修复:当javascript更改DOM时,iOS会删除CSS文件
- 删除项目时的JavaScript计算
- 如何从Firebase聊天中删除项目
- 使用 id 和 Javascript 从数组中删除项目
- JavaScript - 从框中删除项目名称
- 从mysql数据库中删除项目,然后返回最后一页
- 从数组中删除项目,为什么输出中的 for 和 for 不同
- 如何在获取时删除项目视图
- 项目文件应位于
- 使用valums-ajax上传器从上传列表中删除特定文件
- 正在删除配置文件请求
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- 从集合中删除项目时,将其从视图中删除
- 组织Js项目文件
- 如何从状态数组中删除项目
- 如何使用javascript删除项目和清除表单
- 输入类型=文件多个,删除项目
- 使用angularjs从json文件中删除项目