2010-04-03 4 views
0

Итак, у меня есть сценарий загрузки, который работает отлично, но теперь нужно сделать так, чтобы он выглядел так, как я хочу для моего макета.Загрузка файла PHP + jQuery

<input type="file" name="userfile" id="userfile"/> 

Это, очевидно, показывает текстовое поле с кнопкой «Выбрать файл». То, что мне действительно нужно, - это моя собственная пользовательская кнопка (которая в конечном итоге будет образом), которая при успешном выборе файла (еще не загружается) запускает событие jQuery, чтобы показать div. Я НЕ хочу, чтобы текстовое поле имени файла отображалось.

Основные шаги, описанные ниже.

  1. Пользователь нажимает на кнопку изображение, чтобы загрузить свой файл
  2. Пользователь выбирает файл
  3. JQuery показывает DIV с большим количеством полей
  4. Пользователь нажимает покориться и файл загружен

ответ

1

элементы закачивать файла как правило, трудно получить доступ по соображениям безопасности. Я думаю, что лучшее, что вы можете сделать, это подключить обработчик события change загрузки файла, который отображает div, если значение поля файла отличается от null.

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

+0

Спасибо за провал Пекка. Я не знал, что возможно, если что-нибудь. Я думал о внедрении обработчика, но надеялся, что есть другой путь! – st4ck0v3rfl0w

+0

SWFUpload отлично работает, спасибо Pekka – st4ck0v3rfl0w

0

Для этого используется решение jQuery here. Он позволяет использовать изображение для кнопки загрузки, и с небольшой настройкой, я считаю, вы могли бы заставить его делать то, что вы ищете.

0

Несколько решений, которые я видел, фактически скрывают поле ввода для загрузки, а затем отображают собственную пользовательскую кнопку. Когда мышь перемещается по этой настраиваемой кнопке, они используют скрипт для перемещения элемента ввода под курсором. Довольно много работы.