YII+DWZ,解决form的ID重复导致所有navTab被同时修改的问题

首先,DWZ的navTab是采用ajax的方法读取页面,所以如果采用YII传统的CActiveForm来生成表单的话,则create和update中的选框文本框等自动生成ControllerID加下划线加LabelName的形式,当create和update同时出现在navTab中,各种混淆就会出现。当然,最直接的解决办法是手动设置id。

我相信,如果每个form都手动设置id是非常愚蠢且烦琐的。

我的解决办法是把form删除,在create和update中分别实现各自的form,id的定义我在自定义的DwzActiveForm中实现唯一生成,

我的DwzActiveForm主要作用是:
/yii-dwz-zhi-zuo-liao-dwzactiveform-yong-yu-zi-dong-ba-yiide-rulesyu-dwzyi-zheng-he-de-validatejie-he/

我只在前面加了这几句

$kflag=isset($htmlOptions['id']); 
CHtml::resolveNameID($model,$attribute,$htmlOptions);

if(!$kflag)
    $htmlOptions['id']=$this->getId().'_'.$htmlOptions['id'];
//此if看个人需要,我这样是为了防止自定义了的输入框还在前加formID
若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏