Как стать автором
Обновить

Комментарии 32

точно также я когдато делал "input file" из Flash :)
Решение без JS

Выбрать файл
Иногда диалоговое окошко не открывается. Так и не удалось его вызвать, кликая в центре буквы I. IE6
Уже фиксю ;)
Баг пофиксен. Детали позднее...
Очень уж мерцает кнопка "Обзор..."
Мерцает? А вы в каком браузере проверяли?
Opera 9.22
спасибо, пофиксил, работает...
В ФФ2 за мышкой постоянно гоняет поле Файл :)



В ИЕ6 верстка косячит (ну это уже мелочь правда).
Возможно я не в теме :)
Но как я понял из первой половины статьи (вторую я по своей велико-человеческой лени пропустил) Проблема в том чтобы создавать кнопку открытия диалогового окна подгрузки файла произвольного размера.
Если так, то я как-то повстречал тривиальное, но хрен допрешь решение :)
file инпут как и в начале метода автора помещается в див. Див имеет overflow: hidden и такие размеры которые нам надо (т.е. произвольный). Это всё понятно, но как сделать чтобы кнопка занимала нужное пространство - а здесь есть хак с font-size в инпуте... увеличенный шрифт разрастает кнопку, а из-за overflow: hidden див не расширяется :) итог - весь див есть кнопка, ну конечно надо поставить opacity в 0, чтобы артефакты скрыть и ессно, file отодвинуть так чтобы все кроме кнопки ушло запределы дива...
скорее хак чем солушн :) но в FF и IE работает без проблем :)
По-моему отличный солюшен. Никакого JS, и любой размер изображения.
Разве использование overflow: hidden и opacity: 0 - это хак?
Все конечно хорошо, но в FF3 «расширяется» не сама кнопка, а поле ввода и при этом курсор приобретает форму «редактирования»
ну почему, объясните мне, когда я выкладывал свой тулкит для замены селекта (см. в моём профиле), то на меня сразу наехало куча народу по поводу того, что он криво поддерживался Safari и не работал в Lynx? а тут, нате пожалуйста - 99% в лисе, опере и ие, скрипты вообще отключают психи.. я, конечно, согласен с этим, но вы только почитайте комментарии в моем топике..
обидно блин. :(
Искренне сочувствую. Именно твой тулкит (ничего что я на ты?) подтокнул меня к написанию этого топика да и вообще к разработке идеи. А успех твоей заметки выше, а это уже хорошо.
Кстати, у меня родилась идея (опять же с твоей работы) разработки тулкита для обработки форм (всё-таки jQuery, Prototype, Dojo и иже с ними справляются с этим каждый раз по разному, хотя jQuery лучше всех, вспомнить бы где видел тесты, 10 минут и вспомнил), основан он на расширяемости xml и динамичности jscript т.е. создаётся поле например проверяющее себя по regexp и данный атрибут включается в input text, а jscript находит его и привинчивает необходимые функции, таким образом: <input onChange="alert('hello');" type="text" name="email" regexp="/^[a-z0-9] и т.д." ... />
Если интересно, могу развить идею в личку.
Это все будет в XForms
А давайте всё же делать сайты, которые просты, юзабельны и быстры?
Давайте всё же прислушиваться к w3c и не игнорировать слепых людей, людей без JS или на links?

Давайте не делать «дизайн» засчёт пользователей?
Я сам за такой дизайн но не могу же я заставить Firefox и Opera пересмотреть свою политику и переработать существующие компоненты хотя бы до того чтобы их можно было гибко настраивать.
Способ который я вижу на данный момент - это разработать и внедрить такие компоненты, которые захотят включить в свои продукты эти компании. Да и вообще если почитать Паркинсона, то становится ясно почему w3c теряет свою эффективность...
Ещё и ещё раз повторю - существуют не только четыре основных браузера. И нельзя игнорировать остальных. w3c слабеет, поскольку все хотят такие же эффектные, нажимающиеся, классные сайты. А w3c повторяет по тому же кругу - accessability, usability! Простите, но я с w3c.
а для чего по вашему нужен комбобокс?
не для удобства пользователя?
Вы о чём?
сорри, я просто привет свой пример - мой тулкит эмулирует комбобоксы, текстбоксы с подстановкой, мултиопционные селекты и т.п. (http://alx.vingrad.ru/fwc)
все это для упрощения работы с формами пользовтеля!! и поможет он гораздо большим людям, чем помешает тем, у кого выключен JavaScript..
я сейчас о usability.
Задумка хороша, но всё же было бы замечательно, если бы они имели graceful degradation.

И не думайте, что свои контролсы только помогают. Часто они ставят пользователя в небольшой тупичок, поскольку они для него необычны.
я размещал заметку на Хабрахабре - http://www.habrahabr.ru/blog/webdev/2388…
для достижения работы в браузерах, где выключен JavaScript, достаточно использовать тег noscript. делать это автоматом совершенно неудобно, тем более, что компонент smartselect - далеко не всегда select. это может быть и input и просто выпадающее меню. проще всего самостоятельно описать альтернативу в Noscript.
сорри за оффтоп.

а по поводу Input:filе - у меня есть идея, как сделать это чуть лучше, я реализую это в ближайшее время как бонус к smartselect`у.
Нельзя делать идеальные решения, если нужен коммерческий успех нужно ориентироваться на большинство, на платёжеспособное большинство... Это правила капитализма, извините.
зачем? сколько их таких, людей на links?
Понимаете, тут дело немного в другом.

Пока вы делаете сайт, который хорошо читается в links, вы уверены, что он будет хорошо читаться слепыми, на мобильниках и на любых любых устройствах. Вы оставляете универсальность и открытость интернета. А чем больше у нас распростроняется vendor lock, тем хуже интернету. Linux, кстати, это ещё не всё помимо окошек, так что не надо говорить, что «Firefox работает и под линь».
В Opera "opacity: 0%;" не работает, надо "opacity: 0;"
opacity - это число от 0 до 1, так что зачем % не понятно.
Спсибо. Недоглядел
Просили сообщить о багах, вот один:

Вроде все ОК.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации