有关更多 CActiveForm的信息: http://www.yiiframework.com/doc/api/CActiveForm
1. Yii 使用CActiveForm 文件表单时,要注意添加'enctype=multipart/form-data' ,然而CActiveForm中没有enctype属性,只能通过‘htmlOptions’属性来添加。
eg:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'test-user-testuser-form',
'action'=>'test/textuser',
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>
注:Yii CActiveForm下的htmlOptions属性,以及 CActiveForm方法下的htmlOptions 属性,都是用来添加该元素html 属性。
2. 在标签中使用js、css,同样也是用htmlOptions属性
eg:
<?php echo $form->radioButton($model,'modifiedTime',array('value'=>1,'checked'=>true,'onclick'=>"js:alert('asdf')",) ); ?>
<?php echo $form->textArea($model,'applicationDesc',array('class'=>'formInput','style'=>'height:120px;width:280px;')) ; ?>
注:黄色底的就是 htmlOptions属性了。一看大家就明白了。
htmlOptions属性,如刚才所说,就是添加标签对应属性
3.CFormModel如何按自己简单的方法传值(赋值)
a.【Model】要保证CFormModel 的表单验证类有这个变量
public $application;//自己随便定义的,不必非得是数据库字段
b. 【Control】直接给对应赋值,值可以是单个字符串、数组。
这里要解释的是:当为textField,textArea 等这样的类型,为字符串;当为checkBoxList 时为数组
$model = new TestForm();
$model->application = 'basdef';
$model->application = array('0'=>'1','1'=>'3');//数组值对应为view中checkbox的checked一位数组默认值
c. 【View】
<?php
$application = array('0'=>'aaa','1'=>'bbb','2'=>'ccc','3'=>'ddd');
?>
<div class="row">
<?php echo $form->labelEx($model,'application',array('class'=>'formLabel')); ?>
<?php echo $form->application($model,'application',$application ); ?>
<?php echo $form->error($model,'application'); ?>
</div>
这样checkbox checked有 '1'=>'bbb' 和 '3'=>'ddd'
<div class="row">
<?php echo $form->labelEx($model,'applicationDesc',array('class'=>'formLabel')); ?>
<?php echo $form->textArea($model,'applicationDesc',array('class'=>'formInput','style'=>'height:120px;width:280px;')); ?>
<?php echo $form->error($model,'applicationDesc'); ?>
</div>
4.checkBoxList 举例
<?php echo CHtml::CheckBoxList('classifyCk',null,$classifyArr,array('separator '=>' ','template '=>'{input} {label}'));?>
==============================================
点缀娱乐 点缀娱乐 点缀娱乐 点缀娱乐 点缀娱乐 点缀娱乐 点缀娱乐 点缀娱乐
==============================================