myagkikh_evgeniy
@myagkikh_evgeniy

Как решить проблему с маской ввода на телефоне?

Друзья, всем привет!

Есть сайт altayekoprodukt-opt.ru, к которому подключена маска ввода телефона maskedinput.js

5b3dea1fcaa7b552420042.jpeg
Форма появляется при нажатии на кнопки "хочу прайс, позвонить мне" и т.д.

В дестктопных браузерах и мобильном FF все отлично, но в мобильном Сhrome и Opera в маске не вводятся цифры, а вместо введенных символов подставляются нижние подчеркивания.

Сам не справляюсь, нужна помощь.

В чем можем быть проблема?

Заранее спасибо!
  • Вопрос задан
  • 6838 просмотров
Решения вопроса 1
@kudis
Bitrix developer
Первое, что нужно сделать, это указать для данного поля тип 'tel' (у Вас 'text'), тогда ещё и клавиатура на мобилах будет цифровая.
Есть вероятность, что это исправит ситуацию.
Если нет, то используйте плагин inputmask от jQuery
$(function () {
   $(".js-form__input--tel").inputmask("mask", {"mask": "+7 (999) 999-9999"});
});

если хотите, чтобы формат был "российский мобильный" +7(9xx)xxx-xxxx (где x-любая цифра)
то jQuery inputmask позволит сделать маску так:
$(function () {
    $('.js-form__input--tel').inputmask({
        mask: "+7 (X99) 999-9999",
        definitions: {
            'X': {
                validator: "9",
                placeholder: "9"
            }
        }
    });
});


ещё у Вас в скрипте есть вот такое безумство:
var z;
    (z = $(".js-form__input--tel")).on("keydown", function (t) {
        var a = t.keyCode;
        if ("+7 (___) ___-____" === z.val() && (104 === a || 103 === a || 55 === a || 56 === a)) return !1
    });

не знаю что оно делает, но, кажется, что-то плохое)))))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexndb
@alexndb
web developer
Есть подозрение что это происходит из-за загрузки скриптов в момент window.onload, попробуй заменить это на $(document).ready(function () {
$(".js-form__input--tel").mask("+7 (999) 999-9999")
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект