input上传的数组无法进行遍历
时间: 2024-12-20 16:16:57 浏览: 3
thinkphp框架表单数组实现图片批量上传功能示例
当你尝试遍历JavaScript中的`input`元素上传的数组时,可能会遇到问题,因为`input[type="file"]`通常不会直接返回一个数组。这个类型的输入字段实际上会生成一个`FileList`对象,而不是数组,其中包含了用户选择的所有文件。
例如:
```javascript
let filesInput = document.getElementById('filesInput');
filesInput.addEventListener('change', function(e) {
let fileList = e.target.files; // 这是一个FileList对象
for (let i = 0; i < fileList.length; i++) {
let file = fileList[i]; // 可以访问每个文件对象
console.log(file.name);
}
});
```
在这种情况下,你需要通过`length`属性来迭代`FileList`中的文件,而不能像遍历数组那样直接使用索引。如果你需要将这些文件转换成数组,可以使用`Array.from()`或者在循环内部创建一个新的数组。
```javascript
let arrayFromFiles = Array.from(filesList); // 现在有了一个真正的数组
```
阅读全文