Автоматическая табуляция с помощью jQuery

19 августа, 2008
jquery autotab

На сегодняшний день практически все web приложения используют html формы. Причем именно работа с ними вызывает наибольший дискомфорт у пользователя.

В этой статье речь пойдет об инструменте, который позволяет значительно ускорить работу с формами. Называется он Autotab и представляет собой плагин к JavaScript библиотеке jQuery.

Основное назначение плагина – ускорить ввод данных в несколько связанных полей. Например, гораздо удобнее вводить дату в три разных поле (отдельно день, месяц, год). Но при этом пользователю придется переключаться между полями.

Autotab позволяет создать группу связанных полей с фиксированной длиной. При этом после заполнения первого поля курсор автоматически переместится в следующее поле. Точно также работает и удаление символов. Можно зажать клавишу «Del» и все связанные поля будут очищены.

Кроме того, плагин осуществляет фильтрацию вводимых данных.

Установка плагина.

Качаем архив. Распаковываем. Подключаем файл jquery.autotab.js в теге script. Не забываем подключить jQuery.

Использование.

Тут лучше всего привести пример.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <title>Тестирование jQuery Autotab</title>
  7. <script type="text/javascript" src="jquery-1.2.3.pack.js"></script>
  8. <script type="text/javascript" src="jquery.autotab.js"></script>
  9. <script type="text/javascript">
  10. $(document).ready(function() {
  11.     $('#day').autotab({ target: 'month', format: 'numeric',  maxlength: 2 });
  12.     $('#month').autotab({ target: 'year', format: 'numeric', previous: 'day',  maxlength: 2 });
  13.     $('#year').autotab({ previous: 'month', format: 'numeric',  maxlength: 4 });
  14. });
  15. </script>
  16. </head>
  17. <body>
  18. <form method="post" action="#">
  19. <p>
  20. <label for="day">Число</label>
  21. <input type="text" name="day" id="day" size="2" />
  22. <label for="month">Месяц</label>
  23. <input type="text" name="month" id="month" size="2" />
  24. <label for="year">Год</label>
  25. <input type="text" name="year" id="year" size="4" />
  26. </p>
  27. </form>
  28. </body>
  29. </html>

Прежде всего, посмотрите на форму (строки 18, 27). В общем-то, это обычная разметка. Единственное, на что нужно обратить внимание – это id полей ввода. Именно их мы будем использовать при настройке автоматической табуляции.

Возвращаемся к заголовку страницы. В строках 7 и 8 мы подключили библиотеку jQuery и плагин.

После чего написали небольшую функцию, которая выполняется сразу после загрузки страницы и настраивает плагин.

Вся настройка занимает три строки (11-13).

Для каждого поля, которое нужно включить в автотабуляцию, вызываем функцию autotab.

В параметрах этой функции мы указываем порядок табуляции, допустимое количество символов и тип данных.

Например, рассмотрим поле month (строка 12).
В параметре target указываем id поля, в которое нужно переместить курсор, после того, как это поле будет заполнено.

previous – то же самое, что и target, только работает при очистке поля.

format – указывает тип данных. Возможные варианты: text – все кроме цифр, alpha – буквы, numeric, number – цифры, alphanumeric – цифры и буквы, all – любые символы (используется по-умолчанию).

maxlength – количество символов в поле.

Также можно использовать:

uppercase – автоматически преобразует символы в верхний регистр;

lowercase – преобразует символы в нижний регистр;

nospace – удаляет пробелы (для данного примера устанавливать этот параметр не имеет смысла, т.к. format: 'numeric' запрещает ввод пробелов).

Таким образом, мы указали, что курсор должен перемещаться из поля day в поле month, а затем – в поле year. А при удалении символов – в обратном порядке.

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

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

Если есть желание поэкспериментировать, можете скачать архив с этим примером.

Удачи!

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в HTML, JavaScript, Web разработка Комментарии (2) »

]]>

Комментарии (2)

Вы можете отслеживать обсуждение записи с помощью RSS 2.0 rss link

Вы также можете оставить комментарий, или трекбек с Вашего сайта.

]]>
  1. А какие права нужно ставить на файл после закачки на сервер?

]]>

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

* - обязательные для заполнения поля

]]>