Шаг 242.
Библиотека jQuery. Использование модулей расширения. Библиотека расширений jQuery UI. Формы. Виджет Masked Input

    На этом шаге мы рассмотрим основные возможности этого виджета.

    Материал этого шага базируется на 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. Результат работы скрипта

Полный текст этого примера можно взять здесь.

    Со следующего шага мы начнем рассматривать расширения для работы с таблицами.




Предыдущий шаг Содержание Следующий шаг