(no subject)

Friday, January 21st, 2011 14:04
kastaneda: (Default)
[personal profile] kastaneda
Коллеги, кто умеет правильно оформлять <input type=file>? Я пользуюсь стандартным трюком: сделать input прозрачным (полупрозрачным для отладки) и расположенным поверх фейковой кнопки, вот как-то так. По идее, input будет невидим, но вполне кликабелен. Firefox/Chromium/Opera показывают всё как надо.

Проблема в юзабельности получающегося костыля, а именно — в самой возможности пользоваться таким input'ом: моя Opera «правильно» реагирует (открывает диалог выбора файла) только при клике по кнопочке «Browse…», а если кликнуть чуть левее и попасть на строку ввода, то нужной реакции не будет. Где-то будет мигать невидимый курсор в невидимой строке ввода, юзер будет страдать, а я получу баг-репорт. Вызов из JavaScript'а метода click() в адекватном браузере работать не должен, как мне подсказывает моя параноя. Подскажите, как обойти эту особенность Оперы.

Нестандартные элементы управления — вообще-то зло и я их не люблю, но уж если надо с ними работать, то можно ли как-то уменьшить их вред?

Date: Friday, January 21st, 2011 12:53 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Оно, кстати, не работает в Mobile Webkit (Palm, iPhone).

Date: Friday, January 21st, 2011 01:03 pm (UTC)
From: [identity profile] warunlock.livejournal.com
Чайниковский вопрос.
А тоже самое жабаскриптом сделать?

Date: Friday, January 21st, 2011 03:08 pm (UTC)
From: [identity profile] egorfine.livejournal.com
Можно.

Решение такое: воспользоваться чужим опытом и не изобретать велосипед; воспользоваться чужим бета- и продакшн тестированием. Иными словами, взять готовый javascript для jquery или отдельный. В одном проекте я использую plupload, и он прекрасен.

September 2025

M T W T F S S
12345 67
891011121314
15161718192021
22232425262728
2930