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

На сегодняшний день практически все web приложения используют html формы. Причем именно работа с ними вызывает наибольший дискомфорт у пользователя.
В этой статье речь пойдет об инструменте, который позволяет значительно ускорить работу с формами. Называется он Autotab и представляет собой плагин к JavaScript библиотеке jQuery.
Основное назначение плагина – ускорить ввод данных в несколько связанных полей. Например, гораздо удобнее вводить дату в три разных поле (отдельно день, месяц, год). Но при этом пользователю придется переключаться между полями.
Autotab позволяет создать группу связанных полей с фиксированной длиной. При этом после заполнения первого поля курсор автоматически переместится в следующее поле. Точно также работает и удаление символов. Можно зажать клавишу «Del» и все связанные поля будут очищены.
Кроме того, плагин осуществляет фильтрацию вводимых данных.
Установка плагина.
Качаем архив. Распаковываем. Подключаем файл jquery.autotab.js в теге script. Не забываем подключить jQuery.
Использование.
Тут лучше всего привести пример.
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
<html>
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
<title>Тестирование jQuery Autotab</title>
-
<script type="text/javascript" src="jquery-1.2.3.pack.js"></script>
-
<script type="text/javascript" src="jquery.autotab.js"></script>
-
<script type="text/javascript">
-
$(document).ready(function() {
-
$('#day').autotab({ target: 'month', format: 'numeric', maxlength: 2 });
-
$('#month').autotab({ target: 'year', format: 'numeric', previous: 'day', maxlength: 2 });
-
$('#year').autotab({ previous: 'month', format: 'numeric', maxlength: 4 });
-
});
-
</script>
-
</head>
-
<body>
-
<form method="post" action="#">
-
<p>
-
<label for="day">Число</label>
-
<input type="text" name="day" id="day" size="2" />
-
<label for="month">Месяц</label>
-
<input type="text" name="month" id="month" size="2" />
-
<label for="year">Год</label>
-
<input type="text" name="year" id="year" size="4" />
-
</p>
-
</form>
-
</body>
-
</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», либо ставить ноль перед цифрой.
Как видите, плагином пользоваться несложно и он может значительно упростить ввод дат, телефонных номеров, различных регистрационных кодов.
Если есть желание поэкспериментировать, можете скачать архив с этим примером.
Удачи!
Понравилась статья? Подписывайтесь на продолжение
!
Опубликовано в HTML, JavaScript, Web разработка Комментарии (2) »
Комментарии (2)
Вы можете отслеживать обсуждение записи с помощью RSS 2.0 ![]()
Вы также можете оставить комментарий, или трекбек с Вашего сайта.









А какие права нужно ставить на файл после закачки на сервер?
Достаточно только чтения. Главное, убедитесь, что файл доступен через браузер.