Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2019, 14:19
Аспирант
Отправить личное сообщение для deatlink Посмотреть профиль Найти все сообщения от deatlink
 
Регистрация: 22.09.2015
Сообщений: 49

загрузка через ajax type file
Здравствуйте, имеется input (type="file") и под ней кнопка добавить еще такое же поле. Т.е. получается, что можно добавлять сколько хочешь файлов.
но отправляет почему-то в обработчик 1 файл....

<input type='file' name="file" id="upload" />
<a id="add-files-new" href="#">добавить</a>


function mainformrequest(result_id,formMain,url) {

	
			 
			var data = new FormData();

//Form data
var form_data = $("#"+formMain).serializeArray();
$.each(form_data, function (key, input) {
    data.append(input.name, input.value);
});

//File data
var file_data = $('#upload')[0].files;
for (var i = 0; i < file_data.length; i++) {
    data.append("files[]", file_data[i]);
}
//Custom data
data.append('key', 'value');

$.ajax({
    url: url,
    method: "post",
    processData: false,
    contentType: false,
    data: data,
    success: function (data) {
 console.log(data);
  document.getElementById(result_id).innerHTML = data;
    },
    error: function (e) {
       location.reload();
    }
}); 
			 
    }

$("#add-files-new").on('click', function() {

	document.getElementById('load-new-files').insertAdjacentHTML('beforeend', '<br><br><span class="files24"><input type="file" name="file" id="upload" /></span>');
	
	return false;
});
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2019, 20:43
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Тут засада вот в чем: у всех файловых инпутов id="upload"

потом берется $('#upload')[0]. Т.е. только первый инпут.

надо им класс назначить, искать по классу и все обрабатывать, а не только [0]
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2019, 21:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Alexandroppolus
Тут засада вот в чем
Блин, только сейчас удосужился гонять в data.append("files[]" ..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка изображений через AJAX Bezlepkin Элементы интерфейса 12 24.10.2013 01:31
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Загрузка страниц с помощью ajax radikal AJAX и COMET 3 29.11.2012 16:26
extjs 4 mvc, разбираемся с model & store Lord Daedra ExtJS 1 18.08.2011 22:36
загрузка джаваскрипта file by file с номером ревизии(последней) в урле для файла sergdev Ваши сайты и скрипты 7 13.04.2010 10:52