Php Yii客户端验证不需要';行不通
“body”标签内有一个带有链接的页面。Php Yii客户端验证不需要';行不通,php,jquery,yii,Php,Jquery,Yii,“body”标签内有一个带有链接的页面。 插入链接后,将在fancybox中呈现以下视图 <div class="form"> <?php $model = new User; $model->scenario='registration'; $form=$this->beginWidget('CActiveForm', array( 'id'=>'signup-form'
插入链接后,将在fancybox中呈现以下视图
<div class="form">
<?php
$model = new User;
$model->scenario='registration';
$form=$this->beginWidget('CActiveForm', array(
'id'=>'signup-form',
'action'=>'/signup/',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('sign up',array('name'=>'submit')); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
带*的字段是必需的
在没有fancybox的情况下插入上述代码时,客户端验证脚本将正确插入,但在fancybox中,没有jQuery验证函数插入页面。有什么问题吗?
(此处特意插入siteController代码)该代码是从Ajax调用(renderPartial)调用的还是直接调用的?Ajax调用(renderPartial)不包含javascript验证函数,只有整个页面才包含。您的问题很可能是如何将HTML发送到Fancybox。如果执行renderPartial(如用户1248203所述),则需要确保已对发送回的视图进行renderPartial后处理(后处理包括希望与视图本身一起呈现的javascript/css文件) 更多关于 还有一件事需要注意:在进行后期处理时,需要确保Fancybox(可能还有jQuery等)的Javascript不会再次发送回来。它可能会导致一些真正令人困惑的问题。要防止通过Ajax重新发送文件,请使用以下方法:
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
Yii::app()->clientScript->scriptMap['jquery.min.js'] = false;
Yii::app()->clientscript->scriptMap['jquery-ui.min.js'] = false;
etc.
还要注意,jquery.js是在dev服务器上调试时发送的(YII_DEBUG设置为true),而jquery.min.js是在生产服务器上发送的(YII_DEBUG设置为false)。这让我很恼火:-)您可以在中看到它的定义您是对的:未设置渲染部分后处理(默认值为false)