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
エラーが発生しました。ページのソースコードを確認すると:
ご覧のとおり、もう 1 つの jquery ライブラリも含まれています。したがって、ページには 2 つの jquery ファイルがあります。このため、エラーが発生しています。次に、jqueryを無効にするためにこのようなものを置きます。
Yii::app()->clientscript->scriptMap['jquery.js'] = false;
現在、jquery は 1 回だけロードされています。しかし、この結果は次のとおりです。
<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 の後に呼び出す必要があります。少し混乱しました。私は何をすべきか?
追加はい、タイトルが非常に似ているため、この質問を 読みましたが、質問は同じではありません。
ありがとうございました。