Подтвердить что ты не робот

HTML input type="file" в Chrome не отображает текстовое поле

У меня проблема с <input type="file" /> в Chrome - он не показывает текстовое поле рядом с кнопкой "просмотр". Каков наилучший способ показать обычный ввод файлов в Chrome?

4b9b3361

Ответ 1

Это поведение по умолчанию в Google Chrome, а также в Safari. Прочитайте этот блог для решения

Ответ 2

Коробка есть, хотя она не разработана. Это может быть на "неправильной" стороне окна, но там.

Просто для этого - поставьте вокруг него границу - и вы увидите его там.

  <input type="file" style="border: solid 1px red">

Кроме того, после выбора файла - вы получите его имя.

Ответ 3

<input type="file"/> имеет различный внешний вид в зависимости от браузера. В некоторых браузерах это текстовое поле с кнопкой в ​​других, это просто кнопка. Так как элемент не очень удобен, вы не можете его сделать.

Если вы действительно хотите, чтобы загрузка файла выглядела/отличалась от флэш-реализации по умолчанию, это путь.

Например, многие сайты используют sfwUpload. Для полной свободы стилей вы можете сделать его невидимым и поместить его поверх кнопки html с помощью позиционирования.

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

Ответ 4

Элемент ввода файла отличается по-разному в зависимости от вашего браузера (и, вероятно, ОС - я только когда-либо использовал Windows). Если вы посмотрите на ту же страницу с элементом ввода файла в FF, IE и Chrome, в каждом браузере он будет выглядеть по-разному.

Почему вам нужно отображать текстовое поле? В FF и IE вы все равно не можете вводить в него текст, поэтому единственное использование - отобразить путь к файлу выбранного файла; который Chrome уже делает для вас, просто не в коробке.

Ответ 5

Я нашел ссылку от кого-то другого, у кого была эта проблема, решение здесь.

В нем конкретно не упоминается хром, но сафари делает то же самое. (Ссылка была принятым ответом, опубликованным в хромированном обсуждении)

edit: wow, второй раз этим утром, что я был googled другим членом! по крайней мере, вопросы получают ответ!

Ответ 6

Вы можете переопределить поведение по умолчанию и поменять внешний вид элемента управления alltogether. Нашел this сегодня, исследуя, как редактировать css при загрузке файла.