2013-09-22 16 views
24

Sto cercando di inserire dati in testo nascosto in yii, ma non so come. Ho bisogno di un codice simile a una sintassi php regolare:Campo nascosto di base in

<input type="hidden" name="field_name" value="a"/> 

Si suppone che sia un campo con valore statico di una. Ho solo bisogno di andare con le mie variabili $ _POST per il controllo degli errori.

È possibile evitare di modificare i modelli e i controller solo per inserire il campo? Non posso usare gii perché ho solo frammenti di codice con me.Sorry così come ho poca conoscenza di yii quindi non ho idea se quello che sto dicendo delle ultime 2 frasi è corretto.

+0

http://www.yiiframework.com/doc/guide/1.1/en/form.builder#specifying-form-elements.questo può aiutare –

risposta

49

in vista

nascosti campo con modello e forma:

<?php echo $form->hiddenField($model, 'name'); ?> 

o senza modello

<?php echo CHtml::hiddenField('name' , 'value', array('id' => 'hiddenInput')); ?> 
8

Yii input nascosto:

<?php echo $form->hiddenField($model,'fieldName',array('value'=>'foo bar')); ?> 
3

se i dati dal database e il valore o campo di dimensioni:

echo $form->hiddenField($experience,'job_title',array('size'=>'50','value'=>$experience_data['job_title'])); ?> 
1

In alternativa,

echo CHtml::activeHiddenField($model,"[$i]id", array("value" => $model->id)); 

Questo sarebbe impostare il valore di campo nascosto come l'id dal modello. [$ I] è utile per l'aggiornamento di più record.

2

Yii 1

<?php echo $form->hiddenField($model, 'name'); ?> 

Yii2

<?= Html::activeHiddenInput($model, 'attribute', ['value' => 'Some Value']) ?> 

Inoltre, degno di nota per Yii2, il parametro di matrice funziona diverso da un normale campo di modulo. E.G. Un input normale sarebbe più simile a questo.

<?= $form->field($model, 'attribute', ['inputOptions' => ['placeholder' => 'Some Placeholder', 'value' => 'Some Input Value']]) ?> 

Spero che questo aiuti.

0

Ecco due modi per farlo ...

senza modello

echo CHtml::hiddenField('name' , 'value', array('id' => 'name')); 

con il modello

echo $form->hiddenField($model, 'name'); 
2

per yii2 si può provare questo

<?= $form->field($model, 'user_type',['inputOptions' => ['value' => '2']])->hiddenInput()->label(false) ?> 

Ha funzionato per me