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>
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector