In Yii2 sto cercando di costruire input nascostoyii2 valore di input nascosto
echo $form->field($model, 'hidden1')->hiddenInput()->label(false);
Ma ho anche bisogno di avere un po 'value option, come posso farlo?
In Yii2 sto cercando di costruire input nascostoyii2 valore di input nascosto
echo $form->field($model, 'hidden1')->hiddenInput()->label(false);
Ma ho anche bisogno di avere un po 'value option, come posso farlo?
la modifica del valore qui non ha senso, perché è campo attivo. Significa che il valore sarà sincronizzato con il valore del modello.
Basta modificare il valore di $model->hidden1
per modificarlo. Oppure verrà modificato dopo aver ricevuto i dati dall'utente dopo aver inviato il modulo.
Con l'uso del metodo nascosto non attivo sarà così:
use yii\helpers\Html;
...
echo Html::hiddenInput('name', $value);
Ma quest'ultimo è più adatto per l'utilizzo fuori del modello.
si può fare con le opzioni
echo $form->field($model, 'hidden1',
['options' => ['value'=> 'your value'] ])->hiddenInput()->label(false);
Cambierà solo gli attributi HTML del contenitore del campo. Vedi [qui] (http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#$options-detail). – arogachev
si può anche fare questo
$model->hidden1 = 'your value';// better put it on controller
$form->field($model, 'hidden1')->hiddenInput()->label(false);
questa è una scelta migliore se si imposta il valore sul controller
$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,
]);
}
Uno dei buoni modi per assegnare valori dinamici all'input campo nascosto. –
Usa la seguente:
echo $form->field($model, 'hidden1')->hiddenInput(['value'=> $value])->label(false);
questo ha funzionato per me su yii2. Grazie! – MeV
semplice si può scrivere:
<?= $form->field($model, 'hidden1')->hiddenInput(['value'=>'abc value'])->label(false); ?>
Questa risposta ha funzionato per me. Usa il metodo ActiveForm 'field()' come da domanda e mostra inoltre correttamente come specificare il valore nel metodo 'hiddenInput()'. – russellfeeed
usa questo -> Html :: activeHiddenInput ($ model, 'memid', ['value' => Yii :: $ app-> user-> identity-> id]); –
Grazie amico ottimo lavoro. –