html 5 jquery Xhr

программирование JavaScript jQuery

Как для каждого файла сделать свой прогресс бар с загрузкой его размера

у меня выходит для одного файла с самым большим размером



$(function() {
$('#form').submit(function(e) {
e.preventDefault();
data = new FormData($('#form')[0]);

$.ajax({
type: 'POST',
url: 'ch.php',
data: data,
cache: false,
contentType: false,
processData: false,
success: function(data){
alert(data);
},
xhr: function() {
var myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){
myXhr.upload.addEventListener('progress',progressHandlingFunction, false);
}
return myXhr;
},
});


});


function progressHandlingFunction(e){

if(e.lengthComputable){

$.each($('progress'),function(k,v){
$('progress').attr({value:e.loaded,max:e.total});

});
}
}



$('#add').click(function(){

var id=$("input[type='file']").length;
$('<span id="f"><br /><progress id="pr_'+id+'" class="pBar" min="0" max="100" value="0">0% complete</progress><br /><input type="file" name="img_'+id+'"/><input type="button" id="del" value="remove"/></span>').insertBefore('#add');
$("#f>input[type='button']").click(function(){
$("#f").remove();
return false;
});
});


});

Примечание:
index0h

Как идея ,в целом неплохая
но я думаю есть и более кошерный способ
Ответы:
Загружайте файлы разными ajax запросами


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.