Этот код частично работает, но он перемещает только один индикатор прогресса при загрузке нескольких файлов. Мне нужно знать, как я могу заставить его работать с несколькими объектами 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
}