@HellWalk

Не работает \yii\widgets\MaskedInput, в чем может быть причина?

Необходимо добавить маску-валидации телефона в поле, добавляю в обычном дизайне Yii2 - все работает:

<?= $form->field($model, 'subject')->widget(\yii\widgets\MaskedInput::className(), [
                    'mask' => '999-999-9999',
                ]) ?>


A6ooXZw0Oq.png

Делаю тоже самое на рабочем дизайне - не работает:

<?= $form->field($model, 'phone')->widget(\yii\widgets\MaskedInput::className(), [
                    'mask' => '999-999-9999',
                ]) ?>


R5mN1LH35D.png

При этом никаких ошибок в консоли нет.

Сверял подгрузку js-файлов, все также подгружается на рабочем дизайне:

/assets/26c728d5/jquery.js (+)
/assets/4ba5c71d/yii.js (+)
/assets/4ba5c71d/yii.validation.js (+)
/assets/ccdf817b/jquery.inputmask.bundle.js (+)
/assets/4ba5c71d/yii.activeForm.js (+)
/assets/2ab111e0/js/bootstrap.js (+)

В чем может быть причина?
  • Вопрос задан
  • 1914 просмотров
Решения вопроса 1
@HellWalk Автор вопроса
Разобрался - каждое поле с такой маской должно иметь свой уникальный id:

<?= $form->field($model, 'phone')->widget(MaskedInput::className(), [
                    'mask' => '+7 (999) 999-99-99',
                    'options' => [
                        'class' => 'form-control',
                        'id' => 'phone1',
                        'placeholder' => ('Контактный телефон')
                    ],
                    'clientOptions' => [
                        'clearIncomplete' => true
                    ]
                ])->label(false) ?>


<?= $form->field($model, 'phone')->widget(MaskedInput::className(), [
                    'mask' => '+7 (999) 999-99-99',
                    'options' => [
                        'class' => 'form-control',
                        'id' => 'phone2',
                        'placeholder' => ('Контактный телефон')
                    ],
                    'clientOptions' => [
                        'clearIncomplete' => true
                    ]
                ])->label(false) ?>


<?= $form->field($model, 'phone')->widget(MaskedInput::className(), [
                    'mask' => '+7 (999) 999-99-99',
                    'options' => [
                        'class' => 'form-control',
                        'id' => 'phone3',
                        'placeholder' => ('Контактный телефон')
                    ],
                    'clientOptions' => [
                        'clearIncomplete' => true
                    ]
                ])->label(false) ?>


...и так далее
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы