Приветствую.
Недавно выучил php, взялся за необходимый разработчику js, и воткнулся во вроде бы простенькую задачку:
Мультизагрузка изображений через ajax. Если пользователь грузит несколько файлов разом, то все сразу послать нельзя - сработает upload_max_filesize. Поэтому посылаю по очереди, и по очереди вывожу миниатюры, НО...
До начала загрузки мне нужно скрыть поле загрузки файла и заблокировать кнопку submit, а после вывода последней миниатюры вернуть все как было.
Если я вставляю убирание-возвращение в начало и конец .onchange-функции, то он делает то и другое сразу, а не ждет загрузки. А мне надо, чтобы убрал, грузил все до последнего, затем возвращал.
Это, вроде, из-за асинхронности ajax, но в синхронный режим его ставить нельзя - вся страница повиснет, пока файлы грузятся.
var fileload = document.querySelector('#loadfile');
fileload.onchange = function () {
// СЮДА НУЖНО ВСТАВИТЬ УБИРАНИЕ КНОПКИ И БЛОКИРОВКУ SUBMIT
// в переменную files заносятся файлы и включается formData
for(var i = 0; i < files.length; i++){
formData.append('image',files[i]);
$.ajax({
// формируем и отправляем запрос
}).done(function(o) {
// выводим превьюшки по мере загрузки файлов
});
}
// А ЗДЕСЬ ВСЕ ВЕРНУТЬ КАК БЫЛО
}
Подскажите, как это решить. Мне самому js еще учить и учить.