22

だから私はYiiフレームワークをいじっていて、ビューの1つ、特に作成フォームで、テキストフィールドの1つにデフォルト値を与えようとしています。したがって、作成ページに移動すると、値はすでにフォームにプリロードされています。

これが私の現在のコードです

<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空が表示されますか?値を設定する以外に何ができるかわかりません。モデル属性も設定することになっていますか?

4

7 に答える 7

23

それは私の側で動作します:

<?= $form->field($model, 'some_field')->textInput(['readonly' => true, 'value' => $model->isNewRecord ? 'Your Value' : $model->some_field]) ?>
于 2015-06-01T14:07:44.293 に答える
20

フィールドの説明を追加する前に、次のようにします。

<?php
$model->teamlead='my default value';
?>
于 2012-08-23T16:35:34.987 に答える
7

これは、固定値をデータベースに送信し、その値を読み取り専用で表示するコードです。

<?php echo $form->textField($model,'pp_status', array('value'=>'Open', 'readonly' => 'true')); ?>
于 2013-12-19T12:00:02.953 に答える
5

常に、モデル クラスのデータ (既定値、何かが起こった後の変更、データ処理など) を処理することをお勧めします。

モデルの初期化後に値を取得する場合、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

于 2013-04-26T04:46:34.227 に答える
-1
<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')あなたのコーディングを入れてください

于 2016-05-04T06:14:50.117 に答える