загрузить файл с помощью jquery - PullRequest
0 голосов
/ 01 июля 2010

Мне нужно загрузить файл с JQuery. я сейчас о uploadify плагин, но я не хочу использовать такой большой плагин для него.

У меня есть идея, как я могу это сделать, не могли бы вы сказать мне, будет ли это работать?

если я передам значение ввода <input type="value"> как переменную javascript в файл some.php через ajax, а затем осуществлю загрузку, будет ли это работать?

Спасибо

Ответы [ 3 ]

2 голосов
/ 01 июля 2010

Если вы не беспокоитесь о нескольких загрузках, я рекомендую jQuery Form Plugin Это маленький

2 голосов
/ 01 июля 2010

Я предполагаю, что причина, по которой вы хотите это сделать, заключается в том, чтобы вы могли загружать файл в асинхронном стиле и отображать информацию о загруженном файле после завершения загрузки (миниатюра, например, с изображениями). На странице jQuery From Plugin есть опция, охватывающая загрузка iframe , что выглядит неплохо.

Я также использовал Ajax IFrame Method , который хорошо работает, но не структурирован как плагин jQuery. Хотя играет красиво.

По сути, оба эти плагина выполняют прикрепление обработчика события onsubmit к вашей форме. Когда форма отправлена, плагин захватывает событие, создает скрытый iframe на странице, клонирует поля формы из отправляющей формы и отправляет его вместо этого. В результате исходные данные формы отправляются, но видимая пользователю страница не обязательно должна быть направлена ​​на URL в действии формы.

Конечно, как только форма iframe закончит отправку, вы можете вызвать обратный вызов и выполнить любые необходимые сценарии после отправки. Метод ajax iframe, на который я ссылался выше, имеет хорошую документацию для этого.

2 голосов
/ 01 июля 2010

JavaScript не может выполнять загрузку файлов самостоятельно без помощи Flash, поэтому для выполнения этой работы вам нужно что-то вроде Uploadify или SWFUpload .

В качестве обходного варианта может использоваться невидимый iframe, который вы загружаете в свойство target формы. Это будет работать традиционным способом, но пользователь может остаться на текущей странице:

<form target="iframe_id" ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...