Javascript yii中表单更新中的Ajax验证
我有一个用于创建和编辑某些字段的表单Javascript yii中表单更新中的Ajax验证,javascript,yii,Javascript,Yii,我有一个用于创建和编辑某些字段的表单 <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'candidates-profiles-form', 'enableAjaxValidation'=>true, 'enableClientValidation'=>true, 'clientOptions
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'candidates-profiles-form',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>false,
'beforeValidate'=>"js:function(form) {
if((form.data('submitObject')[0].id ) == 'cancel'){
alert('cancalclicked');
this.validateOnSubmit = false;
this.validateOnChange = false;
this.beforeValidate = ''; // the problem is caused by this line
form.submit();
return false;
}
else{
alert('submitclicked');
return true;
}
}",
'afterValidate'=>"js:function(form, data, hasError) {
if(hasError) {
alert('We have detected some input errors and has not saved your data. Please click Ok to correct them.');
return false;
}
else {
if(confirm('We have validated your input and we are ready to save your data. Please click Ok to save or Cancel to return to input.'))
return true;
else
return false;
}
}",)
)); ?>
确保您有$this->performAjaxValidation($model);在控制器中执行该操作。您是否有$this->performAjaxValidation($model);关于控制器中的更新操作?是的,我有$this->performAjaxValidation($model);在我的控制器中的actionupdate中。但奇怪的是,它正在保存所有修改,但在使用$this->actionAdmin()保存后没有重定向;感谢您的提示,在我的控制器中,我已经检查了(isset($\u POST['candidates-profiles-grid\u c0']){}我是否已经将$this->performAjaxValidation($model)放在了我的控制器中;好了。这就是问题所在。当我把它放在外面时,它工作得很好。再次感谢。没问题,我把它添加为答案,这样你就可以把它标记为正确的。