wake-up-neo.com

yii2 versteckter Eingabewert

In Yii2 versuche ich versteckte Eingaben zu konstruieren

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

Aber ich brauche auch eine Wertoption, wie kann ich das tun?

33
David

Das Ändern des Werts hier ist nicht sinnvoll, da es ein aktives Feld ist. Dies bedeutet, dass der Wert mit dem Modellwert synchronisiert wird.

Ändern Sie einfach den Wert von $model->hidden1, um ihn zu ändern. Oder es wird geändert, nachdem Daten vom Benutzer nach dem Senden des Formulars empfangen wurden.

Bei der Verwendung von nicht aktiven verborgenen Eingaben wird es so sein:

use yii\helpers\Html;

...

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

Letzteres ist jedoch eher für die Verwendung außerhalb des Modells geeignet.

30
arogachev

Verwenden Sie folgendes: 

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

einfach kannst du schreiben:

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

Sie können es mit den Optionen machen

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

sie können das auch tun

$model->hidden1 = 'your value';// better put it on controller
$form->field($model, 'hidden1')->hiddenInput()->label(false);

dies ist eine bessere Option, wenn Sie einen Wert am Controller einstellen

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

So was:

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