0
此代码部分工作,但只上传多个文件时仅向前移动一个进度条。我需要知道如何使它能够与多个XHR对象和多个进度元素一起工作。如何在回调函数中当场指定显式值?
var fileinput = document.getElementById('multiple_files_upload');
var progressbars = document.getElementById('progressbars');
//for every file...
for (var x = 0; x < fileinput.files.length; x++) {
// CREATING THE PROGRESSBAR
var newprg = document.createElement('progress');
var divIdName = 'prg'+x;
newprg.setAttribute('id',divIdName);
newprg.className = "fileprogress";
newprg.setAttribute('max',100);
newprg.setAttribute('value',0);
progressbars.appendChild(newprg);
// CREATING THE REQUEST FOR SUBMISSION
var newfd = new FormData();
newfd.append('Filedata', fileinput.files[x]);
var xhr = new XMLHttpRequest();
xhr.upload.onprogress = function(e) {
var percentComplete = e.position * 100/e.totalSize;
document.getElementById(divIdName).setAttribute('value',percentComplete);
}
xhr.open('POST', '<?php echo Yii::app()->CreateAbsoluteUrl('album/uploadifyphoto'); ?>', true);
xhr.send(newfd); // multipart/form-data
}