Содержание
- Primary tabs
- Forums:
- 1.Попытка , пытаемся добавить ( отрицательный результа т)
- 2.Попытка ( положительный результат )
- Ответы (3)
Primary tabs
Forums:
TypeError: jQuery(. ).yiiActiveForm is not a function
— если вы используете разные версии jquery или просто нестандартную,
то возможно у вас файл jquery подключился дважды.
Если вы переопределяете jquery в каком-то из ассетов вот так, но ваш ассет не вызывается до того как подключается стандартный jquery, вы можете принудительно зарегистрировать переопределяющий ассет перед «опасным» местом, например перед вызовом ActiveForm, которая в своей работе запивисит от стандартного jquery-ассета:
Ошибка, как её убрать?
Я использую Pjax и нужно сменить версию jQuery , для этого я отключаю версию по умолчанию:
Подключаю jQuery в layouts :
Пробовал подключать через AssetBundle и $this->registerJsFile(‘url/to/file.js’, [‘position’ => yiiwebView::POS_HEAD]);
Все работает отлично до тех пор, пока я не перехожу в view модуля. Но layout main — один, общий на всё приложение.
Если в View модуля еще подключить:
Но скрипты все будут работать. Но та ошибка все равно возникает.
Похоже что в Yii2 2.5 такого нету, а в новой есть.
1.Попытка , пытаемся добавить ( отрицательный результа т)
2.Попытка ( положительный результат )
Архириктура нашего приложения:
1.Наше приложение имеет один модуль, у которого нету собственного layout, а по дефолту все его view будут отображаться в базовом layout самого оприложения (у меня он main.php).
2.Мы используем JQueryPjax, не тот Pjax которые установлен в Yii2 по дуфолту.
3.Подключение JQuery, мы делаем в layout main.php, в самом низу
4.Если мы уберем css класс wrap , то опять будет появлятсья ошибка, когда мы будем переходит в View модуля. Если убирать этот класс не будем, то и ошибки не будет. Почему?
CSS класс ни при чем! Играет роль только div . То есть, если его не будет, будет ошибка. Почему?
13997 просмотра
3 ответа
6279 Репутация автора
Я разрабатываю проект с Yii.
Мне нужно использовать jquery UI на многих страницах сайта. Поэтому я добавляю базовую библиотеку jquery и библиотеку jquery ui в макет сайта, чтобы иметь доступ к ним на всех страницах.
Но это вызывает проблемы на страницах, которые имеют форму (активную форму). Я вижу эту ошибку на firebug:
почему это так? Как я могу решить это?
Ответы (3)
12 плюса
6637 Репутация автора
Если вы включите основные библиотеки jQuery вручную в файл макета, вполне возможно, что jQuery будет загружен во второй раз и переопределит исходный объект jQuery, к которому подключены плагины Yii.
Вы должны использовать Yii::app()->clientScript->registerCoreScript(‘jquery.ui’) вместо этого.
0 плюса
902 Репутация автора
Возможно, вы загрузили jquery дважды на своей странице, пожалуйста, проверьте ваш код в layout / main.php и где бы вы ни зарегистрировали jquery. Загрузка кода jquery по умолчанию в yii выглядит примерно так:
Пожалуйста, отметьте эту строку, если вы загружаете jquery здесь и, возможно, вы загрузили jquery в свой макет. Лучший способ проверить это — использовать отладчик html и просмотреть исходный код той же страницы, где вы получаете сообщение об ошибке.
Источник: