2013-09-22 48 views
24

我试图在yii中隐藏文本中的数据,但我不知道如何。 我需要一个类似的代码到正规的PHP语法:在yii中的基本隐藏字段

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

它应该是用一个静态值的字段。我只需要它与我的$ _POST变量一起进行错误检查。

是否有可能避免修改模型和控制器只是为了把字段?我不能使用gii因为我只有代码片段与我。对于yii和我有一点了解,所以我没有任何线索如果我说的最后2句话是正确的。

+0

http://www.yiiframework.com/doc/guide/1.1/en/form.builder#specifying-form-elements.this may help –

回答

49
在视图

隐藏字段模型和形式

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

而不模型

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

Yii的隐藏输入:

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

如果从数据库和值或大小字段数据:

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

或者,

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

这将设置隐藏字段的值作为从模型的ID。 [$ i]对多记录更新很有用。

2

的Yii 1

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

Yii2

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

另外,值得一提的用于Yii2,阵列参数工作以正常的表单字段不同。 E.G.正常输入看起来更像这样。

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

希望这有助于。

0

这里有两种方法可以做到这一点......

没有模型

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

与模型

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

为yii2你可以试试这个

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

它为我