Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: input type="file" и бубен  (Прочитано 11437 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kapai1890
Интересующийся

ua
Offline Offline

« : 20-06-2013 22:25 » 

Помогите, пожалуйста, советом. Есть контактная форма с полями (имя, возраст и т. п.). Одно из полей - фотография. Пусть есть следующая форма (сократил до минимума):
Код: (HTML)
<form id="contactForm2">
    <input type="file" id="fileField" />
</form>

Вопрос: как с помощью JavaScript/jQuery можно загрузить данные указанного файла в какую-либо переменную (в массив, например)? Причем вариант с добавлением в атрибуты формы method="POST" enctype="multipart/form-data" и отправка файла по клику на submit-кнопку мне не подходит. Нужно получить данные (еще до какой-либо отправки) и передать "дальше".

К примеру, нашел вот пример работы с File object'ом (хэтэтэпэ://help.dottoro.com/ljbnqsqf.php). Но он поддерживается только Mozilla, Chrome и Safari, а если говорить о методе getAsBinary() - так вообще только Mozilla. А как же остальные браузеры? Жаль
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-06-2013 06:31 » 

Цитата
Одно из полей - фотография.
Цитата
Нужно получить данные
Какие данные? Данные о файле? (имя, размер, mediatype)

Без отправки - никак. Или же,используя, флеш, который может иметь доступ к файловой системе
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 21-06-2013 07:20 » 

Политика безопасности. Можно через отдельную форму во фрейме отправить данные на сервер по form.send (без клика), там провести нужные анализы и сообщить результат в виде JSONP.
« Последнее редактирование: 21-06-2013 07:22 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 21-06-2013 07:38 » 

RXL,
Цитата
Нужно получить данные (еще до какой-либо отправки) и передать "дальше".
Т .е чел не хочет отправлять
Похвальное желание - пользовать flash.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
kapai1890
Интересующийся

ua
Offline Offline

« Ответ #4 : 21-06-2013 09:42 » new

Какие данные? Данные о файле? (имя, размер, mediatype)
Саму картинку. Решил человек загрузить свою фотографию размером 200 Кб, все эти 200 Кб и должны быть загружены.

Всё это время я использовал Bootstrap с аддоном Contact Form. Аддон хорош хотя бы тем, что с помощью регулярных выражений проверяет правильность заполнения (имя, телефон, email и т. д.). Если какая-то ошибка при введении информации, то сразу можно увидеть сообщение типа "%field_name% is not valid" или "This field is required". Отправляет всю эту информацию о человеке он следующим образом: загружает все данные в массив, проверяет их и, если все данные прошли валидацию, отправляет их php-файлу, который в свою очередь формирует сообщение для отправки и посылает на указанную электронную почту методом mail().

Я этот аддон постоянно допиливал, увеличил количество типов полей с 6 до 14. Но вот встал перед проблемой с отправкой файла. Использовать Flash для данного сайта я вряд ли смогу, но возьму на заметку Улыбаюсь . Думаю, придется сделать отправку данных на php-страницу-обработчик напрямую, без посредников. А аддон использовать лишь для проверки правильности заполнения.

Спасибо за помощь! Теперь хоть буду уверенней в своих действиях. А то искал "то, не знаю что" на просторах Интернета.

P.S. Название аддона сказать не могу: нигде в документации оно не всплывало. Разве что он так и называется - "Contact Form" Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines