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

Владимир | | HTML, JavaScript, Web разработка.

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

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

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

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

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

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

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

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

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





Тестирование jQuery Autotab


 


Прежде всего, посмотрите на форму (строки 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», либо ставить ноль перед цифрой.

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

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

Удачи!