我想使用CActiveForm的AjaxValidation。
在启用 AjaxValidation 之前,我的布局视图文件是这样的:
<html lang="tr-TR" dir="ltr">
<head>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script>
</head>
如您所见,我在布局页面上调用jquery
框架(因为我在每个页面上都使用)。
我决定使用 CActiveForm 的 ajax 验证。enableAjaxValidation
首先在调用时启用:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'otel-form',
'enableAjaxValidation'=>true,
)); ?>
然后在我的控制器上取消注释
$this->performAjaxValidation($model);
但我得到了$(...).yiiactiveform is not a function
错误。当我检查页面的源代码时:
如您所见,还包括了另外一个 jquery 库。所以页面上有2个jquery文件。因此,我遇到了错误。接下来我放了这样的东西来禁用jquery。
Yii::app()->clientscript->scriptMap['jquery.js'] = false;
现在 jquery 只加载一次。但是这个结果是:
<html lang="tr-TR" dir="ltr">
<head>
<script type="text/javascript" src="/istanbulcityhotels/assets/cb2686c8/jquery.yiiactiveform.js"></script>
<script src="/istanbulcityhotels/js/jquery.js"></script>
</head>
jquery.yiiactiveform.js在jquery.js之前调用。它应该在 jquery.js 之后调用。有点糊涂了。我应该怎么办?
附加 是的,我读了这个问题,因为标题非常相似,但问题不一样。
谢谢你。