所以我正在摆弄Yii框架,在其中一个视图中,特别是创建表单,我试图给我的一个文本字段一个默认值.因此,当我进入我的创建页面时,值已经预先加载到表单上.
这是我目前的代码
<div class="row">
<?php echo $form->labelEx($model,'teamlead'); ?>
<?php echo $form->textField($model,'teamlead',array('size'=>50,'maxlength'=>50,'value'=>Yii::app()->user->getUsername(),'disabled'=>'disabled')); ?>
<?php echo $form->error($model,'teamlead'); ?>
</div>
Run Code Online (Sandbox Code Playgroud)
当我按下创建时,Yii给我一个错误,告诉我textField
有空?除了设置值之外,我不知道还能做什么.我还想设置模型属性吗?
zuu*_*ups 19
在你的字段描述之前添加:
<?php
$model->teamlead='my default value';
?>
Run Code Online (Sandbox Code Playgroud)
Imt*_*iaz 19
它适用于我:
<?= $form->field($model, 'some_field')->textInput(['readonly' => true, 'value' => 'Your Value']) ?>
Run Code Online (Sandbox Code Playgroud)
总是,在模型类上处理数据(默认值,发生事件后的更改,数据处理等)是一个好主意.
如果从初始化模型后获取值,最好的方法是使用方法init().
但是,如果要在从数据库加载数据后更改或定义默认值,可以使用afterFind()方法
例如:
public function afterFind(){
$this->localdate = date("Y-m-d");
parent::afterFind();
}
Run Code Online (Sandbox Code Playgroud)
此链接提供了许多有关这些方法的有用信息:http://www.yiiframework.com/doc/guide/1.1/en/database.ar#customization
小智 5
这是我将固定值发送到数据库并以只读方式显示该值的代码。
<?php echo $form->textField($model,'pp_status', array('value'=>'Open', 'readonly' => 'true')); ?>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
86394 次 |
最近记录: |