В примере мы рассмотрим подключение библиотеки jquery.maskedinput для поля ввода номера телефона с помощью функции jQuery.ajax().
Форм на сайте может быть множество и на разных страницах. Небольшая модификация будет загружать файл плагина и подключать маску ввода к полю с атрибутом name=«phone» (при наличии такого поля на странице).
Приведённый ниже код добавляем в основной файл js, загружаемый на всех страницах сайта.
Скачиваем файл jquery.maskedinput.min.js и загружаем в папку assets/libs/.
Добавляем свою функцию jQuery:
$(document).ready(() => {
// настройка, включающая кэширование подгружаемого файла
const cache = true;
$.cachedScript = (url, options) => {
options = $.extend(options || {}, {
dataType: "script",
cache,
url,
});
return $.ajax(options);
};
});
Подключаем маску для поля ввода номера телефона:
function initMask (element) {
element.mask("+7 (999) 999-99-99", {
autoclear: false,
});
}
const phoneInput = '[name="phone"]';
// путь к файлу, который предварительно нужно загрузить на сервер
const src = 'assets/libs/jquery.maskedinput.min.js';
if ($(phoneInput).length) {
if (typeof $.mask !== "object") {
$.cachedScript(src).done(() => {
initMask($(phoneInput));
});
} else {
initMask($(phoneInput));
}
}
Комментарии (0)