dzheka3d
@dzheka3d

Почему при ajax загрузке отсылается несколько файлов?

Скачал себе плагин для ajax загрузки файлов вот этот: https://github.com/burt202/lite-uploader/blob/mast...
Вставил на страницу вот такой код:
$('.fileUpload').live('click', function(){
			$(this).liteUploader({
			script: '/upload_images/'
			})
			.on('lu:progress', function (e, percentage) {
				$(this).parent().find('.upimtx .progressbar').css('width', percentage + '%');
			})
			.on('lu:success', function (e, response) {
				alert(response);
				obj = jQuery.parseJSON(response);
				$(this).parent().find("img").remove();
				$(this).parent().find(".images_hidden").val(obj.imagename);
				$(this).parent().prepend(obj.image);
			});
		});

И вроде все хорошо, он отправляет файлы на сервер, но если выбрать файл то все нормально, если выбрать в этом же инпуте еще один файл, то на сервер отправляется уже 2 файла, если третий раз, то уже 3 и так далее. Не могу понять почему...
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Для начала забудьте про live('click'), уже давно используется on()
Вы каждый раз инициализируете аплоадер, зачем?
Зачем вообще вся обертка live click, вместо $('.file').liteUploader()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dzheka3d
@dzheka3d Автор вопроса
Не знаю, костыль наверное, но вот так получилось у меня
function in_upload(box){ // инициализация для загрузки через ajax
		$(box).liteUploader({
			script: '/upload_images/'
			})
			.on('lu:progress', function (e, percentage) {
				$(this).parent().find('.upimtx .progressbar').css('width', percentage + '%');
			})
			.on('lu:success', function (e, response) {
					obj = jQuery.parseJSON(response);
					$(this).parent().find("img").remove();
					$(this).parent().find(".images_hidden").val(obj.imagename);
					$(this).parent().prepend(obj.image);
		});
	} 

in_upload('#fileUpload_' + index); // вызываем функцию инициализации
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы