пятница, 19 июня 2009 г.

Дивный контрол

А вот ещё дивный контрол – Josh Bush разработал немного уродливую внешне, но очень работоспособную маску для ввода фиксированных значений.


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

Aleks Ritov:
19 июня 2009 в 13:24
Ой, спасибо. Я хоть и не сторонник никих вещей, но тут как раз нужно подобное сделать (заставляют:), и я думал, что прийдется делать несколько импутов и стилями их плющить, как это делают товарщи из Билайна http://kvartplata.beeline.ru/pf.do?prv=38

А теперь ура!

Кстати, я считаю, что нужно давать людям обычное поле, а там уже разбирать регэкспами. Например, у меня на сайте когда нужно вводить номер телефона мы даем обычное поле https://www.mobi-money.ru/order/bee/ и внизу хинт 123, но! если пользователь введет дефисы, пробелы или даже 8 ивпереди, мы это ему простим и ничего не скажем.

Влад Головач:
19 июня 2009 в 14:55
Регекспы хороши, но такая маска резко сокращает число ошибок ввода благодаря встроенному показу формата и блокировкой неправильного ввода.

Aleks Ritov:
19 июня 2009 в 17:15
Пожалуй, но я рассуждаю иначе. Если пользователя сразу сильно ограничить, то это тоже плохо. Вот видит он такои и:
- мышкой куда тыкать, в скобочку или как (многие тыкают мышкой, даже если там мерцает курсор)
- я набираю букву, а там ничо не печатаецо. аааа. у меня сломалась клавиатура.

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

Aleks Ritov:
19 июня 2009 в 17:16
ооо. сколько у меня опечаток. да каких! буквы даже не рядом стоят. вот они бессонные ночи )))

Сергей Белкин:
19 июня 2009 в 17:27
Ввод в немаскированное поле может быть потенциально опасен в ряде случаев (хотя и в маскированное тоже). Посягательство на свободу пользователя мне кажется оправданным, а вас избавит от многих проблем с разбором данных, написанием тонн валидационного кода.

По-моему, лучше задать себе вопрос, уверены ли вы, что учли все возможные варианты ввода? Что, если я введу букву “O” вместо “0″, скопирую телефон и вставлю его вместе со скобками или “+”-ом перед номером. Масса вариантов, а всего лишь обычное поле.

Кстати ваша форма отрабатывает далеко не все случаи.

Aleks Ritov:
22 июня 2009 в 09:16
Ага. Зато обрабатывает самые частые варианты (дефисы, пробелы, восьмерку). А остальное - чтобы не писать “тонн валидационного кода” :)

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

Станислав Рагозин:
25 июня 2009 в 12:50
Очень хорошо. Функционал что надо. Делали у себя что-то подобное на Microsoft Office Access. Не думал, что это проблема.

Aisaka:
31 марта 2011 в 09:35
Хм… а зачем они динамические? Не проще ли изначально поля для ввода сделать с подобными установками?



Другие посты по этой теме:



Комментариев нет: