Ситуация следующая, на сайте есть всплываю форма в которой два поля, «Имя» и «Телефон», на поле телефон навешена маска ввода. Так вот, при вводе в поле «Телефон» данных, оно автоматом заполняется маской, и не дает ввести номер телефона. В результате пользователь пытается ввести номер телефона, к примеру +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, ]); ?>