Доработать маску (плейсхолдер) телефона в ядре Карта

Огромнейшее спасибо теперь все ОК

1 лайк

С телефона пальцем было сложно попасть в активную область, проблема решилась правкой стилей:
.litecheckout .litecheckout__input:placeholder-shown:not(:focus) + .litecheckout__label, .litecheckout select:placeholder-shown:not(:focus) + .litecheckout__label {
top: 2px;
}

А как сделать что бы маска всегда показывалась ,а не после наведения на нее мышкой ?

А можно более подробно ? а то тоже на телефоне не работает

showMaskOnHover: true заменить на clearMaskOnLostFocus: false

1 лайк

Рекомендую для Украины делать маску в таком формате: mask: ‘+38-(999)-999-99-99’
После тестирования mask: ‘+380(99)999-99-99’ (как предложено выше) стали приходить заказы с некорректным номером телефона. У многих клиентов из автозаполнения подтягивает телефон например 0998887766 и тогда при заказе обрезается последняя цифра то есть получается +380099888776

2 лайка

в 4.1.11 не дает оформить заказ, пишет номер телефона не корректный

Подскажите как сделать, чтобы и в модуле от АБ это работало?
upd нашел
\www\design\themes\responsive\templates\addons\ab__quick_order_by_phone\views\components\product_form.tpl сделать теже правки

Может можно куда-то в код вписать, чтобы во все сразу места вода номера вставляло плейсхолдер?

@AndreyJ в скрипте, вот в этом месте $('input[type="tel"]').inputmask({ через запятую можно прописать все нужные поля, на которых надо применять маску.

Например, $('input[type="tel"], .ab__qobp_phone').inputmask({ добавит маску к полям с типом tel и к полю с классом ab__qobp_phone (класс поля телефона у модуля AB “Быстрый заказ”).

2 лайка

Оставлю тут ,чтоб не забыть.
Чтоб и в админке заработало тут.

надо сюда
/design/backend/templates/addons/my_changes/hooks/index/scripts.post.tpl
вот это

  <script>
$(document).bind('ready ajaxComplete', function(){
    $('#simple_search .cm-phone').inputmask({
        mask: '+7(999)999-99-99',
        placeholder: '_',
        showMaskOnHover: false
    });
});
</script>

и почистить кеш

@albinoz просьба поправить, если я вдруг есть проще способ

Скажите задача уже попала к программистам?
Уже полгода прошло и 40 голосов вы же знаете это довольно много для форума.

Можно вынести скрипт в отдельный файл, например в js/addons/my_changes/maskedinput.js (в файлах с расширением js не надо оборачивать код в теги <script>) и уже его подключать в scripts.post.tpl фронта и бекэнда:

{script src="js/addons/my_changes/maskedinput.js"}

Это позволит управлять скриптом из одного файла, а не вносить правки в оба.

js-файлы кэширует браузер, поэтому после правок в нем надо будет чистить кэш браузера, что может быть недостатком, если правки частые (в браузерах вернувшихся пользователей кэш не почистишь). Это следует учесть.

1 лайк

Скажите задача уже попала к программистам?

Я бы уже предпочел, чтоб вообще это не трогали, а то опять получится не то, что нужно или работающее криво, при этом еще и используемый сейчас скрипт работать перестанет.

так а вдруг есть маркеты работающие на несколько стран, Карт же мир захватил уже почти)

Карт же мир захватил уже почти)

Вот когда захватит полностью, тогда и приходите за маской телефона :grinning:

Так есть же в коробке либа inputnask-multi
Очень хорошо работает, как по мне

это что такое?

Очепятался немного)
Вот что это
https://andr-04.github.io/inputmask-multi/ru.html

Не разберусь, что он делает.
Я из Украины, вот мне показывает.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Вот такая ерунда у меня получается:
http://joxi.ru/v29vBVoTz3YW5A
http://joxi.ru/52ax6VEtb4D3Dm