yii2隐藏输入值

问题描述 投票:34回答:7

在Yii2我试图构建隐藏的输入

echo   $form->field($model, 'hidden1')->hiddenInput()->label(false);

但我也需要有一定的价值选择,我该怎么办呢?

yii2 hidden-field
7个回答
34
投票

在此改变值没有意义,因为它是活跃的领域。这意味着值将与模型值同步。

只要改变$model->hidden1的值来改变它。或者,它会在提交表格后,从用户接收数据后更改。

对于使用非激活隐藏的输入将是这样的:

use yii\helpers\Html;

...

echo Html::hiddenInput('name', $value);

但是后者更适合于使用模型的外侧。


51
投票

使用以下命令:

echo $form->field($model, 'hidden1')->hiddenInput(['value'=> $value])->label(false);

18
投票

简单,你可以这样写:

<?= $form->field($model, 'hidden1')->hiddenInput(['value'=>'abc value'])->label(false); ?>

12
投票

您可以使用这些选项做

echo   $form->field($model, 'hidden1', 
      ['options' => ['value'=> 'your value'] ])->hiddenInput()->label(false);

9
投票

你也可以这样做

$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,
    ]);
 }

1
投票

像这样:

<?= $form->field($model, 'hidden')->hiddenInput(['class' => 'form-control', 'maxlength' => true,])->label(false) ?>

-1
投票

我知道这是旧的文章,但有时HTML是确定的:

<input id="model-field" name="Model[field]" type="hidden" value="<?= $model->field ?>">

请小心

  • ID:下顶了 - 而不是_
  • 名称:在瓶盖个字母
© www.soinside.com 2019 - 2024. All rights reserved.