Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузка файлов (https://javascript.ru/forum/events/47352-zagruzka-fajjlov.html)

cript 20.05.2014 11:14

Загрузка файлов
 
Приветствую!
Провожу загрузку файлов с помощью такого скрипта
$(document).ready(function(){
var formData = new FormData();
$.each($(".docfile")[0].files, function(i, file)
{
formData.append('file[]', file);
});
formData.append('comments',$(".comments").val());
$.ajax({
url: 'uploader.php',
type: 'POST',
contentType: false,
processData: false,
cache: false,
headers: { 'cache-control': 'no-cache' },
dataType: 'json',
data: formData,
beforeSend: function(x)
{
console.log('Uploading...');
},
success: function(data)
{
console.log('Success',data);
},
error: function(data)
{
console.log('Error');
},
complete: function(data)
{
console.log('Complete');
$("#fileuploadinfosuccess").html(data);
$('#uploadingfile').hide();
}
});
});

Фома загрузки
<input type="file" class="docfile" name="file[]"> 
<input type="file" class="docfile" name="file[]"> 
<input type="file" class="docfile" name="file[]">


Но загружается только первый файл, скажите что исправить чтобы загружались все файлы?

krasovsky 20.05.2014 13:27

$.each($(".docfile"), function(i, docfile) {
{
formData.append('file[]', docfile[0].files);
});

....
}

cript 20.05.2014 15:12

Цитата:

Сообщение от krasovsky (Сообщение 312628)
$.each($(".docfile"), function(i, docfile) {
{
formData.append('file[]', docfile[0].files);
});

....
}

Это не раотает

krasovsky 21.05.2014 12:21

Что это? Я указал тебе на ошибку, которая не даст тебе отправить три формы - а именно, вместо того чтоб передавать в each файл первого инпута ($(".docfile")[0].files) ты должен передать туда коллекцию инпутов ($(".docfile")) и заменить все file на file[0].files (или как у меня docfile[0].files).
В чем тут может быть проблема у тебя? В том что я не написал и не отладил тебе полный код?

cript 21.05.2014 14:10

Вы сами проверьте будет ли рабоать то, что вы написали


Часовой пояс GMT +3, время: 08:00.