可能重复:
Retrieving file names out of a multi-file upload control with javascript
从HTML5输入type =“file”允许用户通过添加multiple =“multiple”来选择多个文件:
<input type="file" multiple="multiple" />
我的问题是:如何获得该输入的值?使用.value时,它只返回所选第一个文件的文件名,但是当选择多个文件时,我无法查看其他文件。
我有什么:
<input type="file" multiple="multiple" onchange="alert(this.value)"
onmouseout="alert(this.value) />
正如我告诉你的那样,只显示其中一个选定文件的名称。
注意:我不想编辑值(我知道这是不可能的)只有文件的名称
谢谢!
答案 0 :(得分:88)
所选文件存储在一个数组中:[input].files
例如,您可以访问项目
// assuming there is a file input with the ID `my-input`...
var files = document.getElementById("my-input").files;
for (var i = 0; i < files.length; i++)
{
alert(files[i].name);
}
对于jQuery舒适的人来说,同样容易
// assuming there is a file input with the ID `my-input`...
var files = $("#my-input")[0].files;
for (var i = 0; i < files.length; i++)
{
alert(files[i].name);
}
答案 1 :(得分:11)
你use input.files
property。它是File objects的集合,每个文件都有name
属性:
onmouseout="for (var i = 0; i < this.files.length; i++) alert(this.files[i].name);"