次のようなリンクがあります
<a class="fancy" href="/site/feedback">feedback</a>
Ajax呼び出し:
$('.fancy').fancybox({
wrapCSS: 'custom-fancy',
padding: 0,
type: 'ajax'
});
fancyboxをクリックすると、コントローラーが送信するコンテンツが読み込まれます。
$this->renderPartial('_feedback')
フィードバックビュー:
<?php
/* @var $this Controller */
/* @var $model FeedbackForm */
/* @var $form CActiveForm */
$form = $this->beginWidget('CActiveForm', array(
'id' => 'feedback-form',
'enableClientValidation' => TRUE,
)); ?>
<div><?= $form->textArea($model, 'feedback') ?></div>
<?=$form->error($model, 'feedback')?>
<? $this->widget('CCaptcha') ?>
<?=$form->textField($model, 'verifyCode', array('placeholder' => 'Captcha code'))?>
<div><?=CHtml::submitButton('Send', array('class' => 'r button'))?></div>
<? $this->endWidget() ?>
問題は、このロードされたフォームにjavascript/ajax検証がないことです。一部のYiiスクリプトがajax呼び出し後にロードされなかったためだと思います(yiiActiveForm.jsかもしれませんが、わかりません)。この状況に対する最善の解決策は何ですか?