Yii $form->textfield,如何设置默认值?

nwo49xxi  于 2022-11-09  发布在  其他
关注(0)|答案(7)|浏览(169)

所以我正在摆弄Yii框架,在其中一个视图中,特别是在create表单中,我试图给予我的一个文本字段一个默认值。因此,当我进入create页面时,这些值已经预先加载到表单中了。

这是我目前的代码

<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>

当我按下create键时,Yii给我一个错误消息,告诉我textField是空的?除了设置值,我不确定还能做什么。我是否也应该设置模型属性?

fv2wmkja

fv2wmkja1#

它在我这边起作用:

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

cld4siwp2#

在字段描述之前添加以下内容:

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

myzjeezk3#

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

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

tzxcd3kk4#

在模型类上处理数据(默认值、发生某些事情后的更改、数据处理等)始终是一个好主意。
如果你在初始化模型后从中获取值,最好的方法是使用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

62lalag4

62lalag45#

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

ijnw1ujt

ijnw1ujt6#

我相信MVC的方法是将默认值放置在Model中:

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';
        ...
    }
}
zujrkrfu

zujrkrfu7#

<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')放进你的代码里,它就会工作

相关问题