获取inputtypes=“文件”值,当它有多个文件select

可能重复:
使用javascript从多file upload控件中检索文件名

从HTML5inputtype =“file”允许用户通过添加multiple =“multiple”来select多个文件:

<input type="file" multiple="multiple" /> 

我的问题是:我怎样才能得到这个input的价值? 使用.value时,它只返回所选第一个文件的文件名,但select多个文件时,我无法查看其他文件。

我拥有的:

 <input type="file" multiple="multiple" onchange="alert(this.value)" onmouseout="alert(this.value) /> 

正如我告诉你的,只显示所选文件的名称。

注: 我不想编辑值(我知道这是不可能的)只有文件的名称

谢谢!

所选文件存储在一个数组中: [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); } 

你使用input.files属性 。 它是File对象的集合,每个文件都有一个name属性:

 onmouseout="for (var i = 0; i < this.files.length; i++) alert(this.files[i].name);"