jQuery(…).activeform is not a function in Yii

China☆狼群 提交于 2019-12-01 15:31:09

问题


I am developing a project with Yii.

I need to use jquery ui on many pages of site. So I add jquery core library and jquery ui library in the layout of site to have access to them on all the pages.

But it causes problem on the pages which have a form (active form). I see this error on the firebug :

jQuery(...).activeform is not a function

why is it so? How can I resolve it?

Thank you.


回答1:


If you include jQuery core libraries manually in your layout file, it could be possible that jQuery gets loaded a second time and overrides the original jQuery object which had the Yii plugins attached.

You should use Yii::app()->clientScript->registerCoreScript('jquery.ui') instead.




回答2:


You might have loaded the jquery twice in your page, please check the your code in layout/main.php and where ever you have registered jquery. To load the jquery default code in yii is something like as follows

Yii::app()->clientScript

Please check this line, if you are loading jquery here and you might have loaded the jquery in your layout also. Best way to check this is to use html debugger and view page source of the same page where you are getting error.




回答3:


add this code with yours path to js in head.php

<?php YII_DEBUG === true ? Yii::app()->clientScript->scriptMap = array('jquery.js'=>'/js/jquery-3.3.1.js') : Yii::app()->clientScript->scriptMap = array('jquery.min.js'=>'/js/jquery-3.3.1.min.js') ?>
<?php Yii::app()->getClientScript()->registerCoreScript('jquery'); ?>


来源:https://stackoverflow.com/questions/16831733/jquery-activeform-is-not-a-function-in-yii

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!