Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Про плейсхолдеры. Нужны идеи |
Автор: ksnk 19.9.2010, 17:13 | ||
У меня есть достаточно большая форма для редактирования списка объектов. Каждый объект занимает строчку таблицы и представляет собой несколько разных полей в этой форме. Поля разные для разных типов объектов. Также есть некая форма в которой для кажного типа объектов можно проставить "Значения по умолчанию" для каждого поля каждого объекта. Требуется при выводе основной формы для незаполненных полей показывать значения по умолчанию. Для текстовых полей вроде как стандартное решение - placeholder - некий текст, который появляется поверх незаполненного поля. Для поля select - примерно то-же. Плейсхолдер выводится бледным тонким шрифтом, а заполненное поле - жирным, черным, так что все достаточно заметно. Если очистить текстовое поле или выбрать пустое значение в select'е - удет подставлено значени по умолчанию. А вот для полей checkbox и radio как-то непонятно как это реализовать. Тоесть - как это расписать в html? Вероятно как-нибудь так
это должно означать, что элемент с атрибутом placeholder будет отображен сереньким цветом... А вот каким образом "убрать" значение, чтобы вернуть "значение по умолчанию"? Кода не надо - сам напишу, но вот как очевидным для пользователя способом "очистить" radio, или checkbox пока не очень понимаю... |
Автор: ksnk 19.9.2010, 17:47 |
придумался "очевидный" способ для чекбокса - просто ввести 3 состояния вместо 2-х. А вот для radio пока вопрос открыт. |
Автор: magelan 19.9.2010, 19:16 |
радио надо рассматривать на группе, один контрол не имеет смысла. те же 3 состояния, как для чекбокса - да, нет, может быть... для радиогруппы будет актуален +1 контрол, который показывает состояние - в группе никто не выбран. у мелкософта по этому поводу была куча наработок, и чекбоксы в селекте и поля ввода в селекте и мультивыбор с чекбоксами... была бы необходимость. почему-то вспомнился светофор - тоже наверное 3 состояния. |
Автор: 12345c 20.9.2010, 02:55 |
Дело в том, что 3-е состояние чекбокса (серое) уже занято, и отнюдь не значением по умолчанию. Оно чаще означает неактивное значение или"неполностью выбранную группу". Вешать на него семантически иное назначение - неправильно (по юзабельности). Это всё равно, что если Вы в программе (Си) напишете что-то вроде #DEFINE TRUE FALSE То же самое для плейсхолдера. Его чётко определённое на настоящий момент значение - подсказка, а не Default. Для Default в HTML есть давно известная кнопка - <input type=reset>. А для начального состояния - разумеется, всё стоит в Default, без всяких хитростей. Если есть задача дополнительно пометить Default-значения - надо делать третьим способом, одновременно подсказывая юзеру его. Например, радио и чекбоксы обводить цветом, а для поля ввода - например, подсказка в том же цвете с явным указанием: "По умолчанию: 334". |
Автор: magelan 20.9.2010, 03:14 | ||||
хотел промолчать, не смог. у нас в конторе, если хотят убить проект - отправляют в службу юзабилити. тамошние юзабилы пол года пыхтят выдавливая из себя ЮИ-дизайн, после этого обычно про проект никто не помнит. у них похожие рекомендации.
#DEFINE FALSE !TRUE не будем лукавить пойдем до конца... в большинстве случаев программист даже не заметит эту подмену, если он не приводит интеджер к булеану. Итак, о чем я? если человек с уровнем ksnk начинает морочится какой-то задачей, то значит у него есть цель, про кнопку ресет и скудность контролов веба он художнику уже все сказал, в красках. Если художник решился переделать контролы и убедил верстальщика - это значит будет "новый веб" с новым взглядом на управление. Мы все привыкли к автомобильному рулю, но у танка и трактора рычаги, почему не руль? не юзабельно же... |
Автор: ksnk 20.9.2010, 07:44 | ||||
Моя задача - позволить юзеру заполнить некую таблицу значениями. Причем , если значения по умолчанию уже устраивают пользователя - поля таблицы можно не заполнять. Таким образом, сразу при взгляде на таблицу все значения и заполненные и дефолтные должны быть видны, чтобы юзер мог представить что будет с объектом. Желательно при этом сделать так, чтобы юзер видел, какое значение выставлено для этого поля, а какое взято по умолчанию. Юзабельность, в этом случае - обойтись минимальным количеством кликов мыши/редактированием полей. В этой задаче использовать placeholder в качестве подсказки - излишне. Подсказка будет в виде выплывающих title-посказок. Юзер предполагается не простой, а прошедший предварительное объяснение.
сейчас так и есть. серые радиобатоны - имеют дефолтное значение. Черные - явно установленные.
|