Ищу как сделать маску для номера телефона на странице регистрации(а позже и оформления заказа). Посмотрел, что делают примерно так:
spoiler<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.5/jquery.inputmask.min.js"></script>
<script type="text/javascript">
// вешаем маску на телефон
$('.phone-field').inputmask("+7(999)999-9999");
// добавляем правило для валидации телефона
jQuery.validator.addMethod("checkMaskPhone", function(value, element) {
return /\+\d{1}\(\d{3}\)\d{3}-\d{4}/g.test(value);
});
// получаем нашу форму по class
var form = $('.form-request');
// включаем валидацию в форме
form.validate();
// вешаем валидацию на поле с телефоном по классу
$.validator.addClassRules({
'phone-field': {
checkMaskPhone: true,
}
});
// Проверка на валидность формы при отправке, если нужно
form.submit(function(e){
e.preventDefault();
if (form.valid()) {
alert('Форма отправлена');
}
return;
});
</script>
Пробовал подобные формы без валидации - не работает. script src прописываю после head, а сам скрипт перед футером. Может кто знает как это для опенкарт 4 делается или знает ссылочку на модуль? Облазал маркетплейс, там модули только на 3тью версию есть