JavaScript. Как я могу программно вызвать клик по input type=file?

Я тут задался поиском ответа на Ваш вопрос, и вот какие выводы я смог сделать:

  • По соображениям безопасности, Opera и Firefox не позволяют генерировать события для этого типа поля ввода.
  • Единственное приемлемое решение заключается к созданию «скрытого» поля ввода (используя прозрачность, но ни в коем случае не «hidden» или «display:none», а затем создании кнопки под ним. В этом случае кнопка будет видна, а поле ввода — нет, и получиться иллюзия того, что окно загрузки файлов всплывает при клике на кнопку. Примерное там образом сделано, например, окно загрузки видео на YouTube. Не думаю, что они бы использовали это решение, если бы существовало более приемлемое :)
<div style="display: block; width: 100px; height: 20px; overflow: hidden;">
<button style="width: 110px; height: 30px; position: relative; top: -5px; left: -5px;"><a href="javascript: void(0)">Upload File</a></button>
<input type="file" id="upload_input" name="upload" style="font-size: 50px; width: 120px; opacity: 0; filter:alpha(opacity: 0);  position: relative; top: -40px;; left: -20px" />
</div>
Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.