Значки

typoFix. Смена раскладки в input-полях

Опубликовано 8 июня 2009

typofixОчень хочется рассказать о ситуации, которая и побудила меня к созданию typoFix’а:

Свой ник, twenty, я набираю менее, чем за секунду и довольно часто вместо ника обнаруживаю в инпуте «ецутен». Ну тут всё понятно — дело в раскладке клавиатуры, на которую я не обратил внимания. После долгих и весьма безуспешных попыток привыкнуть к автоматической смене раскладки Punto Switcher’а, мой мозг выдал концепцию typoFix’а.

И как же оно работает?

typoFix функция, использующая jQuery, которая “блокирует” раскладку клавиатуры в input-полях. Любой вводимый символ заменяется на соответствующий из нужной раскладки. Доступны: русская, английская и украинская раскладки.

Скачать сжатую версию можно здесь.
Версию для разработчиков можно скачать тоже здесь.

Требования и установка:

typoFix — это функция, использующая селекторы jQuery, поэтому без него работать не будет.
Встраивание typoFix.js на страницу:

1
2
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript" src="typoFix.js"></script>

Затем нужно задать инпутам атрибут lang:

  • ru — для “блокировки” русской раскладки;
  • en — для “блокировки” английской раскладки;
  • uk — для “блокировки” украинской раскладки.
1
<input type="text" lang="en" name="login" />
Кстати, пример.

Кому это нужно и где вообще это можно применять?

Превосходное применение typoFix может найти в формах авторизации, в анкетах, да и в любом input-поле, где подразумевается использование какого-то одного языка для ввода.

Кому это не нужно и где это вообще нельзя применять?

В формах авторизации, если в пароле всё же можно использовать более одного языка, дабы не смущать пользователя.

Известные и не очень проблемы

  • Некорректная работа с F-клавишами во всех браузерах, кроме fucking IE.
Метки:
Всего 7 комментариев:
  1. 1

    Какой ещё украинский? :)

  2. 2

    Спасибо за интересный скрипт. Сегодня попробую прикрутить к одному из сайтов – на попробовать. :) Только вот jQuery тяжеловатый фреймворк…

  3. 3

    Ничего себе тяжеловатый…
    Иногда файл со стилями весит больше. Про изображения я вообще молчу :)

  4. 4

    Приблизительно месяц назад, один из читателей заметил ошибку: в разных раскладках при нажатом Shift возвращаются разные коды кажатых клавиш для специальных символов (@#$% и т.п.), что делает невозможным корректное использование typoFix’а. Интереснее всего, что в некоторых ситуациях невозможно точно определить по коду клавиши, какая именно клавиша нажата. Пока думаю над оптимальным способом решения этой проблемы, пользоваться typoFix’ом не стоит.

  5. 5

    А с textarea он может работать или имеются какие-то фундаментальные различия между input и textarea не позволяющие данную логику применить? У меня так и не получилось подключить.

  6. 6

    вопрос снят, разобрался, применимо.
    Павел – спасибо за скрипт! Очень изящное решение!

  7. 7

    Я не рекомендую использовать это решение — обрабатываются не все символы.

Оставить комментарий

Вроде бы работают какие-то html-теги

Поиск

Мои штуки

  • JS: noMoreIE6 — предлагает обновиться пользователям IE6.
  • Flash: Писькомер — незаменимый аргумент в любом споре.
  • JS: Min-properties IE6 — эмулирует min-width и min-height в IE6.
  • JS: targetBlank — добавляет всем внешним ссылкам target="_blank" и кое-что ещё.
  • JS: HideEmail — уменьшает вероятность попадания вашего e-mail’а в спам-базу.
  • JS: DOMReady — кроссбраузерно предсказывает момент доступности всех элементов на странице.
Геникон. Воплощение фавикона.