在Yii2我试图构建隐藏的输入
echo $form->field($model, 'hidden1')->hiddenInput()->label(false);
但我也需要有一定的价值选择,我该怎么办呢?
在此改变值没有意义,因为它是活跃的领域。这意味着值将与模型值同步。
只要改变$model->hidden1
的值来改变它。或者,它会在提交表格后,从用户接收数据后更改。
对于使用非激活隐藏的输入将是这样的:
use yii\helpers\Html;
...
echo Html::hiddenInput('name', $value);
但是后者更适合于使用模型的外侧。
使用以下命令:
echo $form->field($model, 'hidden1')->hiddenInput(['value'=> $value])->label(false);
简单,你可以这样写:
<?= $form->field($model, 'hidden1')->hiddenInput(['value'=>'abc value'])->label(false); ?>
您可以使用这些选项做
echo $form->field($model, 'hidden1',
['options' => ['value'=> 'your value'] ])->hiddenInput()->label(false);
你也可以这样做
$model->hidden1 = 'your value';// better put it on controller
$form->field($model, 'hidden1')->hiddenInput()->label(false);
这是一个更好的选择,如果你设置控制器值
$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,
]);
}
像这样:
<?= $form->field($model, 'hidden')->hiddenInput(['class' => 'form-control', 'maxlength' => true,])->label(false) ?>
我知道这是旧的文章,但有时HTML是确定的:
<input id="model-field" name="Model[field]" type="hidden" value="<?= $model->field ?>">
请小心