На этом шаге мы рассмотрим основные возможности этого виджета.
Материал этого шага базируется на http://www.netopalto.ru/masked-input-plugin.html.
Расширение Masked Input позволяет упростить для пользователя ввод таких данных, как даты, номера телефонов или карточек социального страхования, в предопределенных форматах. Расширение автоматически вставляет в поле ввода служебные символы (такие как слеш, при вводе дат) и обеспечивает возможность ввода только определенных символов, соответствующих настройкам расширения.
Адреса, где можно взять компонент: http://digitalbush.com/projects/masked-input-plugin/ или http://archive.plugins.jquery.com/project/maskedinput.
Правила(формат) ввода определяется маской:
Сначала нужно подключить jQuery и Masked Input Plugin.
<script src="js/jquery-1.9.0.js" type="text/javascript"></script> <script src="js/jquery.maskedinput-1.2.2.js" type="text/javascript"></script>
Затем определить маску для элементов, которых необходимо обеспечить правилом ввода.
jQuery(function($){ $("#date").mask("99/99/9999"); $("#phone").mask("(999) 999-9999"); $("#tin").mask("99-9999999"); $("#ssn").mask("999-99-9999"); });
Если вы хотите заменить знак подчеркивания (’_') в качестве заполнителя, можно передавать необязательный аргумент placeholder.
jQuery(function($){ $("#product").mask("99/99/9999",{placeholder:" "}); });
Дополнительно можно вызвать функцию после того, как ввод по маске был завершен.
jQuery(function($){ $("#product").mask("99/99/9999",{completed:function(){ alert("Было задано: "+this.val()); }}); });
Можно самостоятельно определять символы для маски.
jQuery(function($){ $.mask.definitions['~']='[+-]'; $("#eyescript").mask("~9.99 ~9.99 999"); });
В заключание проиллюстрируем сказанное на конкретном примере.
Рис.1. Результат работы скрипта
Полный текст этого примера можно взять здесь.Со следующего шага мы начнем рассматривать расширения для работы с таблицами.