2013-09-22 32 views
24

Tôi đang cố gắng đặt dữ liệu trong văn bản ẩn trong yii, nhưng tôi không biết cách thực hiện. Tôi cần một mã tương tự với cú pháp php thông thường:Trường ẩn cơ bản trong yii

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

Đó được coi là trường có giá trị tĩnh của a. Tôi chỉ cần nó để đi với các biến $ _POST của tôi để kiểm tra lỗi.

Có thể tránh việc sửa đổi các mô hình và bộ điều khiển chỉ để đặt trường vào? Tôi không thể sử dụng gii vì tôi chỉ có đoạn mã với tôi. Xin lỗi cũng như tôi có chút hiểu biết về yii vì vậy tôi không có đầu mối nếu những gì tôi nói về 2 câu cuối là đúng.

+0

http://www.yiiframework.com/doc/guide/1.1/en/form.builder#specifying-form-elements. Điều này có thể hữu ích –

Trả lời

49

hưởng quang cảnh của

ẩn lĩnh vực với mô hình và hình thức:

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

hoặc mà không mô hình

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

Yii nhập ẩn:

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

nếu dữ liệu từ cơ sở dữ liệu và giá trị hoặc trường kích thước:

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

Ngoài ra,

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

này sẽ thiết lập giá trị trường ẩn như id từ mô hình. [$ I] hữu ích cho việc cập nhật nhiều bản ghi.

2

Yii 1

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

Yii2

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

Ngoài ra, đáng chú ý cho Yii2, tham số mảng hoạt động khác với trường biểu mẫu bình thường. E.G. Một đầu vào bình thường sẽ trông giống như thế này.

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

Hy vọng điều này sẽ hữu ích.

0

Dưới đây là hai cách để thực hiện điều đó ...

mà không cần mô hình

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

với mô hình

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

cho yii2 bạn có thể thử này

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

Nó làm việc cho tôi

Các vấn đề liên quan