передать содержимое <input type="file" ... > в jquery
Доброго времени суток дорогим форумчанам! Вопрос заключается вот в чем. Есть форма, отправка производится с помощью
<a href="javascript:void(0);" onclick="order('manager');return false;">Отправить</a>. (Т.е. мы нажали, начинается обработка содержимого формы, да и страницы в целом с помощью скрипта, после чего данные передаются в файл-обработчик? send.php к примеру). Как такового события SEND не происходит, данные передаются чеерз скрипт как POST. Строчные и прочие данные передаются отлично! в файле-обработчике легко и просто производить с ними манипуляции, используя POST. Только вот данные <input type="file" ... >не передаются, не знаю как вытащить их в jQuery. Спасибо за помощь, простите за сумбур! P.S. $.post использую вместо submit. |
а в элементе <form> стоит enctype="multipart/form-data"?
оно обязательно для отправки файлов ------------------- P.S. или вы вообще не используете submit() для формы, а используете $.post ? |
че-то я туплю, конечно же $.post
в новых браузерах (c новым XMLHttpRequest, их примерно 70%) есть объекты FormData fd = new FormData() fd.append('file1', file_input.files[0]) $.ajax({..., data: fd, ...}) -- по другому не нашел как в старых браузерах без каких-то бредовых хаков не получится (лучше через плагины, не знаю какие) |
Отправляйте форму в скрытый Iframe и не парьте себе мозг.
|
enctype="multipart/form-data" - стоит.
|
Мне нужно из формы перетащить путь и занвание файла, в Вашем же примере он задан статически, вопрос как раз был в том- как его вытянуть..
|
Iframe - есть ли похожие примеры? Спасибо!
|
Цитата:
что касается названия файла input_file_element.files // массив файлов элемента формы input_file_element.files[0].name // имя первого файла не думал что именно в этом была проблема |
Хорошо, все же задам очередной глупый вопрос: каким бразом тогда организовать отправку письма с attachment файлом? или подгрузить ег она сервер? Где-то ведь путь должен браться?
P.S. Прошу простить за глупые вопросы, конечно. Но сам, чисто для себя, сел написал форму с отправкой файла. Пути и имя подтягиваются все же. Но как это все дело засунуть в javascript? |
|
Цитата:
теперь вообще непонятно, у вас проблемы на сервере или в браузере? вы пытаетесь отправить из браузера настоящий e-mail? браузер ну никак не способен на такое |
Нет, секунду, расскажу чуть подробнее. Есть некий функционал на странице, который прекрасно работает. Формирует заявку. Все необходимые элементы подхватываются с помощью jQuery, обрабатываются и передаются в файл обработчик, где я формирую само письмо, и потом уже с помощью функции mail отправляю.
Хотел расширить функционал на странице, создал форму, добавил туда подгрузку файла (для вложения его в письмо). Все работает, кроме подгрузки файла. т.к. на этап обработки jQuery данные не передаются. |
Хорошо, вопрос тогда такой. Как можно организовать загрузку файла на сервер и использования его для вложения в письмо?
|
Могу предоставить коды, если это необходимо
|
вы что издивайтесь? вам уже столько материала дали.. называется пиши не хочу.. напишите для начала простую отправку файла через FormData. потом дальше будем думать, что и как вам реализовать
|
Цитата:
|
Как вариант через http://learn.javascript.ru/xhr-forms#formdata
|
Есть хороший плагинчик, который инкапсулирует создание iframe и асинхронную отправку файлов. http://www.phpletter.com/Our-Projects/AjaxFileUpload/
|
Часовой пояс GMT +3, время: 16:16. |