<input type = "file" /> открывает окно просмотра файлов в FireFox3 при нажатии на часть поля формы? - PullRequest
1 голос
/ 21 января 2009

При нажатии на часть текстового поля <input type="file" /> в FireFox3 открывается окно просмотра файлов.

Этого не происходит в IE7. Вы должны нажать кнопку «Обзор», чтобы открыть окно просмотра файлов.

Как я могу предотвратить открытие окна просмотра файлов в FireFox, когда пользователь нажимает на область текстового поля? Мне бы хотелось, чтобы он открывался только при нажатии кнопки.

Ответы [ 6 ]

16 голосов
/ 21 января 2009

Почему вы не можете оставить ожидаемое поведение в покое? Большинство людей, которые используют FireFox, ожидают, что это произойдет. Если вы не указали фактическую «конструкторскую» причину, по которой вы не указали, что это произошло, не пытайтесь изменить это.

6 голосов
/ 21 января 2009

Firefox ведет себя таким образом, чтобы предотвратить эксплойт, использующий ввод файла.

См. Конец этой записи в блоге и некоторые комментарии ниже.

Я согласен, что это очень раздражает, не как дизайнер / разработчик веб-сайта, а как пользователь Firefox; иногда я просто хочу вставить имя файла, а не щелкать по диалоговым окнам.

2 голосов
/ 21 января 2009

Как я могу предотвратить открытие окна просмотра файлов в FireFox, когда пользователь нажимает на область текстового поля?

Затенить его другим элементом.

<div style="position: relative">
    <input type="file" />
    <div style="position: absolute; top: 0; left: 0; width: 11em; height: 2em;"> </div>
</div>

Но не делай этого. Он ужасно хрупкий и ломается при многих обстоятельствах.

Мне бы хотелось, чтобы он открывался только при нажатии кнопки.

Я сомневаюсь, что вашим пользователям это понравится. Он удаляет ожидаемую функциональность из браузера и не заменяет ее чем-то лучшим. Или вообще что-нибудь.

2 голосов
/ 21 января 2009

Даже если вы действительно захотите это сделать, я не думаю, что это возможно.

0 голосов
/ 16 июля 2009

Разве простой обходной путь не заключался бы в создании поля ввода текста, а также кнопки, с кнопкой, используемой для запуска браузера файлов, а затем для заполнения информации обратно в текстовое поле? Я довольно новичок во всем этом и читаю много вопросов по этой проблеме, включая тот факт, что FF3 не применяет те же стили CSS к файлу input =, как это было в предыдущих версиях.

0 голосов
/ 21 января 2009

Да, это так, и веб-страница ничего не может с этим поделать.

Мне не известно о настройке конфигурации FF, которая бы управляла этим, поэтому вы застряли с # 3:

С расширением может изменить это поведение, но тогда вам придется заставить своих пользователей установить ваше расширение (возможно, для внутреннего приложения) и справиться с ошибками может ввести в приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...