Ситуация следующая, на сайте есть всплываю форма в которой два поля, «Имя» и «Телефон», на поле телефон навешена маска ввода. Так вот, при вводе в поле «Телефон» данных, оно автоматом заполняется маской, и не дает ввести номер телефона. В результате пользователь пытается ввести номер телефона, к примеру +7(987)123-45-67, а вводится +7(000)000-00-00.
Вскрытие и анализ кода показало, что используется для вывода формы модуль «Обратный звонок», версия 1.1. В админ панели сайте есть настройка данного модуля
Фрагмент кода вывода
. . .
<div class="form-input mb25">
<?= $form->textFieldGroup($model, 'name',['label' => false]); ?>
</div>
<div class="form-input mb25">
<?= $form->maskedTextFieldGroup($model, 'phone', [
'widgetOptions' => [
'mask' => $phoneMask,
'htmlOptions' => ['placeholder' => $model->getAttributeLabel('phone')],
],
'label' => false,
]); ?>
</div>
. . .
Как это лечится
Перерыв некоторое количество информации и потратив на это энное время, оказалось что проблема в маске телефона
было
+7(000)000-00-00
стало
+7(999)999-99-99
И после этого в поле ввода можно было вводить номер телефона по маске.
Почему кто-то вместо 9 поставил 0 — это тайна покрытая тайной.
Примечани
Символ обозначающий «любое число», можно менять и в коде, для этого есть параметр charMap
<?= $form->maskedTextFieldGroup($model, 'phone', [
'widgetOptions' => [
'mask' => $phoneMask,
'charMap' => array('X' => '[0-9]'),
'htmlOptions' => ['placeholder' => $model->getAttributeLabel('phone')],
],
'label' => false,
]); ?>



