2013-09-22 14 views
24

Próbuję umieścić dane w ukrytym tekście w yii, ale nie wiem jak. muszę podobny kod do zwykłej składni PHP:Podstawowe pole ukryte w yii

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

To ma być polem o wartości statycznej a. Po prostu potrzebuję go, aby przejść do zmiennych $ _POST w celu sprawdzenia błędów.

Czy można uniknąć modyfikowania modeli i kontrolerów tylko po to, aby wstawić pole? Nie mogę używać gii, ponieważ mam tylko fragmenty kodu ze mną. Tak jak i ja nie rozumiem yii, więc nie mam pojęcia jeśli to, co mówię o ostatnich 2 zdaniach, jest poprawne.

+0

http://www.yiiframework.com/doc/guide/1.1/en/form.builder#specifying-form-elements .to może pomóc –

Odpowiedz

49

w widokach

ukrytych pól z modelu i formy:

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

lub bez modelu

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

Yii ukryte wejście:

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

jeśli dane z bazy danych i wartości lub polu Rozmiar:

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

Alternatywnie

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

Byłoby ustawić wartość pola ukryte jako identyfikator od modelu. [$ I] jest przydatna do aktualizacji wielu rekordów.

2

Yii 1

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

Yii2

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

Ponadto, warto zwrócić uwagę na Yii2 parametr tablica działa inny do normalnego pola formularza. E.G. Normalne wejście wyglądałoby bardziej jak to.

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

Mam nadzieję, że to pomoże.

0

Oto dwa sposoby, aby to zrobić ...

bez modelu

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

z modelu

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

dla yii2 można spróbować tego

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

pracował dla mnie

Powiązane problemy