Задать вопрос
@teodor7teodor7

Как исправить Yii2, jQuery(...).yiiActiveForm is not a function?

Подскажите при размещение виджета ActiveForm на страницы выводится ошибка jQuery(...).yiiActiveForm is not a function. При этом не работает валидация. Как это исправить.
  • Вопрос задан
  • 5004 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@Skrolea
Свой скрипт вручную подключали?
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Судя по всему не подключились скрипты формы. Покажите, как выводите.
Ответ написан
Комментировать
@teodor7teodor7 Автор вопроса
......  <?=

ModalCreateUserForm::widget([
  'model' => $model,
  'userRole' => "Администратор"
]);
?>.....


Виджит во вьюхе

....

    $form = ActiveForm::begin(['options' => ['class' => 'panel-body'], 
      'id' => 'createUserForm',
      'enableAjaxValidation' => true,
      'enableClientValidation' => true,
      'validationUrl' => Url::to(['create-user-admin'])
   
      ]);

//    $form = ActiveForm::begin([
//      'action' => Url::to(['users']),
//      'options' => ['class' => 'panel-body'  ] , 
//      'id' =>  'createUserForm',
//      'method' => 'POST',
//      'ajaxDataType' => 'x-www-form-urlencoded',
//      'enableAjaxValidation' => true]);

    echo Html::beginTag('div', $options = ['class' => 'form-group']);

    echo $form->field($this->model, 'login')->input('login')
      ->label('Логин');


    echo Html::endTag('div');

    echo Html::beginTag('div', $options = ['class' => 'form-group']);

    echo $form->field($this->model, 'fullName')->input('login')
      ->label('Ф.И.О.');


    echo Html::endTag('div');
    echo Html::beginTag('div', $options = ['class' => 'form-group']);

    echo $form->field($this->model, 'email')->input('email')->label('E-mail');

    echo Html::endTag('div');

    echo Html::beginTag('div', $options = ['class' => 'form-group']);
    echo $form->field($this->model, 'password')->passwordInput()->label('Пароль');

    echo Html::endTag('div');

    echo Html::beginTag('div', $options = ['class' => 'form-group']);

    echo $form->field($this->model, 'confirmPassword')->passwordInput()->label('Подтваердить пароль');

    echo Html::endTag('div');
    echo Html::beginTag('div', $options = ['class' => 'modal-footer']);
    echo Html::a($text = 'Close', $url = "#", $options = [
      'class' => 'btn btn-white',
      'data-dismiss' => 'modal'
    ]);
    echo Html::submitButton('Создать', ['class' => 'btn btn-primary']);
    ActiveForm::end();....
Сам кусок виджета
Ответ написан
Комментировать
@seacjs
Скорее всего у вас дублируется подключение jquery, Посмотрите, у вас в Layout подключен скрипт вручную или через Asset.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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