Yii的形式 - $>文本框,如何设置一个默认值?(Yii $form->textfield

2019-07-31 03:53发布

所以我用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是空的? 不知道还有什么我可以做其他的比设定的值。 难道我也想设置模型属性?

Answer 1:

之前字段说明补充一点:

<?php
$model->teamlead='my default value';
?>


Answer 2:

它适用于我的目的:

<?= $form->field($model, 'some_field')->textInput(['readonly' => true, 'value' => 'Your Value']) ?>


Answer 3:

一直以来,是在模型类一个好主意,处理数据(的默认值,,变化的东西发生后,数据处理等)。

如果您收到来自初始化模式后的值,最好的办法是使用方法的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



Answer 4:

这里是我的代码,我发送固定值到数据库中,并显示该值是只读的。

<?php echo $form->textField($model,'pp_status', array('value'=>'Open', 'readonly' => 'true')); ?>


Answer 5:

请使用array('readonly' => true) ,而不是disabled



Answer 6:

我相信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';
        ...
    }
}


Answer 7:

<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')在您的编码,将工作



文章来源: Yii $form->textfield, how to set a default value?
标签: yii