Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery ajax аплоад файлов (https://javascript.ru/forum/jquery/3649-jquery-ajax-apload-fajjlov.html)

frstua 13.05.2009 14:57

все введенные в форме значения, кроме поля file

x-yuri 13.05.2009 15:10

т.е. еще на клиентской стороне input type=file игнорируется. А все потому, что javascript не может получить доступ к файловой системе, к передаваемому файлу, выбрать файл - ограничения безопасности, чтобы javascript не мог утащить у пользователя информацию без его ведома... javascript может лишь спрашивать у сервера, что там с загрузкой файла, либо организовать передачу файла без перезагрзки страницы
т.е. надо искать плагины, которые рассчитаны на работу с input-type="file"

Kolyaj 13.05.2009 15:24

Цитата:

Сообщение от x-yuri
т.е. надо искать плагины, которые рассчитаны на работу с

Вот она, квинтэссенция работы с jQuery.

x-yuri 13.05.2009 15:43

Цитата:

Вот она, квинтэссенция работы с jQuery
ну почему так грустно, со временем можно и самому плагины начать писать :) А вообще, это как плюс, так и минус
или ты про то, что обычно что-то не устраивает?

Kolyaj 13.05.2009 15:55

Я про то, что элементарную вещь, вроде фоновой отправки файлов на сервер, превратили в размусоливание плагинов jQuery.

x-yuri 13.05.2009 16:22

вообще-то не знаю... имхо начинать можно с jQuery+плагины, а потом можно либо свои плагины начать писать, либо от jQuery отказаться

frstua 13.05.2009 18:11

Получилось так, с помощью http://valums.com/ajax-upload/
$(document).ready(function() {
new Ajax_upload('#upload', {
		action: 'post.php',
		name: 'myfile',
		onSubmit : function(file){
			centerPopup();
			loadPopup();
			var str = $("#formadd").serialize();
  			alert(str);
  			$.post("post.php", str, function(data) {
    			alert('status: ' + data);
  		});
		},
		
		onComplete : function(file){
			disablePopup();
			alert(file + " succesfully upload");
		}	

	});	
});

x-yuri 13.05.2009 18:47

т.е. ты предпочитаешь делать два запроса вместо одного? И отдельно принимать файл и остальные параметры? И что у тебя форма отправляется сразу после выбора файла?

frstua 13.05.2009 21:34

то что отправляется сразу после выбора файла это не критично.
а то что два запроса ... по другому пока никак не придумал(

Kolyaj 13.05.2009 21:40

Цитата:

Сообщение от frstua
по другому пока никак не придумал(

Создаете невидимый ифрейм, даете ему имя, устанавливаете это имя в атрибуте target формы. Все, файлы загружаются в фоновом режиме вместе с остальной формой. Не надо никаких jQuery.


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