如何使用yii框架只读取php中的一些表单字段

时间:2015-07-29 09:31:08

标签: php yii

我是php和yii framework.can的新手。任何人都可以帮我处理我的表单。我有一个更新表单,其中有3个字段,下拉菜单。如何使from字段值只读。这将是非常多的如果有人向我提供代码,则会有所帮助。我的更新表格代码是:

更新表单:

 <div class="row">
    <?php
    $criteria=new CDbCriteria();
        echo $form->dropDownListGroup(
                $model,
                'user_id',
                array(
                    'wrapperHtmlOptions' => array(
                        'class' => 'col-sm-5',
                    ),
                    'widgetOptions' => array(
                        'data' => CHtml::listData(User::model()->findAll($criteria), 'id', 'user_id'),
                        'dataProvider'=>$model->searchByUserId(Yii::app()->user->getId()),
                        'htmlOptions' => array('prompt'=>'Select'),
                    )

                )
            ); ?>

    </div>
        <div class="row" id="jobTitle">
        <?php 
            $criteria = new CDbCriteria;
            $criteria->condition = "status= 'active'";
            echo $form->dropDownListGroup(
                $model,
                'job_title_id',
                array(
                    'wrapperHtmlOptions' => array(
                        'class' => 'col-sm-5',
                    ),
                    'widgetOptions' => array(
                        'data' => CHtml::listData(JobTitle::model()->findAll($criteria), 'id', 'name'),
                        'htmlOptions' => array('prompt'=>'Select job title'),
                    )

                )
            ); ?>
    </div>
    <div class="row" id="file_name">
        <?php echo $form->textFieldGroup(
        $model,'file_name',
           array(
             'wrapperHtmlOptions' => array(
               'class'=> 'col-sm-5',
             ),
           )
            );

        ?>
    </div>
    <div class="row" id="statustype">

    <?php 
            $is_current = array('yes'=>'Yes', 'no'=>'No');
            echo $form->dropDownListGroup(
                $model,
                'is_current',
                array(
                    'wrapperHtmlOptions' => array(
                        'class' => 'col-sm-5',
                    ),
                    'widgetOptions' => array(
                        'data' => $is_current,
                        'htmlOptions' => array('prompt'=>'Select a status'),
                    )

                )
            ); ?>       
    </div>

2 个答案:

答案 0 :(得分:0)

要只读取值 - 将'readonly'=>true添加到您想要只读的字段的选项数组中。

例如:

<?php 
    $is_current = array('yes'=>'Yes', 'no'=>'No');
    echo $form->dropDownListGroup(
        $model,
        'is_current',
        array(
        'wrapperHtmlOptions' => array(
            'class' => 'col-sm-5',
             ),
        'widgetOptions' => array(
            'data' => $is_current,
            'htmlOptions' => array('prompt'=>'Select a status'),
         )
         'readonly' => true
         )
     );
 ?>

答案 1 :(得分:0)

不可能只读取select元素。 With Yii您可以将其设置为已禁用,并使用unselectValue将值添加到隐藏字段中。

echo $form->dropDownListGroup(
    // ...
    array(
        // ...
        'widgetOptions' => array(
            'htmlOptions' => array(
                'disabled' => 'disabled',
                'unselectValue' => $model->user_id,
            ),
        )

    )
);

或者使用TbSelect2它具有readonly属性。