Почему поле <input type = "file"> серое в IE8? - PullRequest
0 голосов
/ 14 апреля 2011

Может кто-нибудь объяснить, почему мой input type="file" неактивен в IE8, но не в IE7.Он по-прежнему может использоваться, но вы больше не можете набирать текст в поле.

<INPUT id="fil1" type="file" size="44" name="fil1" runat="server">

IE7:

In IE7

IE8:

In IE8

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

<input type='file'> рассматривается как специальное поле ввода во всех браузерах. Он выглядит по-разному практически во всех браузерах, и его нелегко стилизовать с помощью CSS.

Причина этого заключается в том, что браузеры считают, что это связано с проблемами безопасности, например, когда пользователи могут загружать файлы, не осознавая этого. Поэтому они применяют стандартный внешний вид, чтобы поле всегда распознавалось таким, какое оно есть. Они также не позволяют CSS и Javascript иметь доступ к полю, чтобы они не могли изменить его внешний вид или изменить его значение.

В случае IE8 разработчики браузера решили, что единственный способ, которым пользователь должен иметь доступ к полю, - это кнопка выбора файла. Это серьезное решение разработчиков IE для повышения безопасности. С этим ничего не поделаешь.

Ради любопытства вы должны попытаться увидеть, как <input type='field'> отображается в других браузерах - Firefox, Safari, Chrome, Opera ... вы будете удивлены, насколько все они отличаются друг от друга тем, как они это делают. Вероятно, это единственный элемент, отображаемый наиболее некорректно.

0 голосов
/ 14 апреля 2011

Поскольку текстовое поле доступно только для чтения; что является ожидаемым поведением. Вы можете выбрать файл, используя кнопку Обзор.

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

...