Dav*_*vid 37 hidden-field yii2
在Yii2中,我试图构建隐藏的输入
echo $form->field($model, 'hidden1')->hiddenInput()->label(false);
Run Code Online (Sandbox Code Playgroud)
但我也需要它有一些价值选择,我该怎么做?
小智 52
使用以下内容:
echo $form->field($model, 'hidden1')->hiddenInput(['value'=> $value])->label(false);
Run Code Online (Sandbox Code Playgroud)
aro*_*hev 35
在这里更改值没有意义,因为它是活动字段.这意味着值将与模型值同步.
只需更改值$model->hidden1
即可更改它.或者在提交表格后收到用户的数据后会更改.
使用非活动隐藏输入时,它将是这样的:
use yii\helpers\Html;
...
echo Html::hiddenInput('name', $value);
Run Code Online (Sandbox Code Playgroud)
但后者更适合在模型之外使用.
小智 18
你可以写简单:
<?= $form->field($model, 'hidden1')->hiddenInput(['value'=>'abc value'])->label(false); ?>
Run Code Online (Sandbox Code Playgroud)
sca*_*dge 12
你可以使用这些选项
echo $form->field($model, 'hidden1',
['options' => ['value'=> 'your value'] ])->hiddenInput()->label(false);
Run Code Online (Sandbox Code Playgroud)
你也可以这样做
$model->hidden1 = 'your value';// better put it on controller
$form->field($model, 'hidden1')->hiddenInput()->label(false);
Run Code Online (Sandbox Code Playgroud)
如果在控制器上设置值,这是一个更好的选项
$model = new SomeModelName();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->group_id]);
} else {
$model->hidden1 = 'your value';
return $this->render('create', [
'model' => $model,
]);
}
Run Code Online (Sandbox Code Playgroud)