我正在尝试使用Jquery编写一个ajax上传器.在html中我可以写一个多上传字段,如:
<input type='file' multiple='multiple' name='files[]'>
Run Code Online (Sandbox Code Playgroud)
但是,我怎样才能从这个领域获得价值?我用的时候:
$('input[type='file']').val();
Run Code Online (Sandbox Code Playgroud)
要么
$('input[type='file']').attr('value');
Run Code Online (Sandbox Code Playgroud)
我只获得了我选择上传的第一个文件的文件名.有没有办法让我得到一个包含所有文件的数组?
在HTML5文件API意味着,input将有一个files属性.您可以像这样访问它:
var fileList = document.getElementById("yourInput").files;
Run Code Online (Sandbox Code Playgroud)
返回a FileList,我相信它是一个类似于数组的对象,包含用户选择的所有文件,因此您可以正常迭代它:
for(var i = 0; i < fileList.length; i++) {
//Do something with individual files
}
Run Code Online (Sandbox Code Playgroud)
但它不适用于不支持HTML5的浏览器,我认为它不会在IE版本9中得到支持.如果那些旧的浏览器对你很重要,最好的办法就是使用Flash或Java基于上传者.
| 归档时间: |
|
| 查看次数: |
7198 次 |
| 最近记录: |