所以我用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>
当我按下创建的Yii给我一个错误,告诉我,有textField
是空的? 不知道还有什么我可以做其他的比设定的值。 难道我也想设置模型属性?
之前字段说明补充一点:
<?php
$model->teamlead='my default value';
?>
它适用于我的目的:
<?= $form->field($model, 'some_field')->textInput(['readonly' => true, 'value' => 'Your Value']) ?>
一直以来,是在模型类一个好主意,处理数据(的默认值,,变化的东西发生后,数据处理等)。
如果您收到来自初始化模式后的值,最好的办法是使用方法的init()。
但是,如果你想改变,或定义从数据库加载数据后的默认值,你可以使用的方法一个afterFind()
例如:
public function afterFind(){
$this->localdate = date("Y-m-d");
parent::afterFind();
}
该链接有很多有关这些方法有用的信息: http://www.yiiframework.com/doc/guide/1.1/en/database.ar#customization
这里是我的代码,我发送固定值到数据库中,并显示该值是只读的。
<?php echo $form->textField($model,'pp_status', array('value'=>'Open', 'readonly' => 'true')); ?>
请使用array('readonly' => true)
,而不是disabled
。
我相信MVC的方式来做到这一点是把你的默认值或者在你的模型:
class MyModel extends \yii\db\ActiveRecord
{
public $teamlead = 'my default value';
....
}
或者在你的控制器:
class MyModelController extends Controller
{
public function actionCreate()
{
$model = new MyModel ();
$model->teamlead = 'my default value';
...
}
}
<div class="row">
<?php echo $form->labelEx($model,'teamlead'); ?>
<?php echo $form->textField($model,'teamlead',array('readonly'=>'true',size'=>50,'maxlength'=>50,'value'=>Yii::app()->user->getUsername(),'disabled'=>'disabled')); ?>
<?php echo $form->error($model,'teamlead'); ?>
</div>
把array('readonly'=>'true')
在您的编码,将工作