zoukankan      html  css  js  c++  java
  • yii 表单小部件使用

    首先创建model层

    因为要使用表单小部件 所以要加载相应的组件

    这里需要的组件有

    yiiwidgetsActiveForm 和

    yiihelpersHtml
    接下来在model定义的class里 写方法

    首先我们要定义需要使用表单小部件的name值

    不多说上代码

    <?php


    namespace frontendmodels;
    use yiiaseModel;
    use yiiwidgetsActiveForm;
    use yiihelpersHtml;

    class Form extends Model
    {
        public $name;
        public $pwd;
        public $sex;
        public $hobby;
        public $age;

    public function rules(){
        return[

        ];
    }

    public function attributeLabels(){
        return[
            'name'=>'用户名',
            'pwd'=>'密码',
            'sex'=>'性别',
            'hobby'=>'爱好',
            'age'=>'年龄'
        ];
    }

    static public function agegat(){
        $agea=array();
        for($i=1;$i<100;$i++){
            $agea[$i]=$i;
        }
        return $agea;
    }    

    static public function dataarr($data){
        $arr = array();
        
        foreach($data as $key=>$value){
            $arr[$value['kid']] = $value['kname'];
        }
        
        return $arr;
        }
    }
    
    在这个model里 有将英文表头转换中文的方法 attributuLabels
    还有 我们处理单选多选还有下拉框值得方式 dataarr
    接下来 我 们需要创建controller
    
    
    <?php


    namespace frontendcontrollers;
    use yiiwebController;
    use yii;
    use db;
    use frontendmodelsForm;
    class FormController extends Controller
    {
        public function actionIndex(){
            $sql = 'select * from form';
            $data = yii::$app->db->createCommand($sql)->queryAll();
            $arr = Form::dataarr($data);
            $agea=Form::agegat();
            //var_dump($arr);die;
            $model = new Form();
            return $this->render('form',['model'=>$model,'data'=>$arr,'agea'=>$agea]);
        }
        
        public function actionAdd(){
            $data = Yii::$app->request->post();
            echo $name = $data['Form']['name'];
        }
    }
    
    然后就是在我门的view层 展示出来
    
    
    <?php


    use yiihelpersHtml;
    use yiiwidgetsActiveForm;

    $form = ActiveForm::begin([
    'id' => 'login-form',
    'options' => ['class' => 'form-horizontal'],
    'action'=>'?r=form/add',
    'method'=>'post',
    ]) ?>
    <?= $form->field($model, 'name') ?>
    <?= $form->field($model, 'pwd')->passwordInput() ?>
    <?  $model->sex = '1'?>
    <?= $form->field($model, 'sex')->radioList(['0'=>'男','1'=>'女'])?>
    <?  $model->hobby = ['swim','baseball' ] ?>
    <?= $form->field($model, 'hobby')->checkboxList(['basketball'=>'篮球','baseball'=>'棒球','swim'=>'游泳']) ?>
    <?  $model->age = 3?>
    <?= $form->field($model, 'age')->dropDownList($agea) ?>

    <div class="form-group">
    <div class="col-lg-offset-1 col-lg-11">
    <?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?>
    </div>
    </div>
    <?php ActiveForm::end() ?>

     好,到这里是不是感觉大功告成了。

    恩,不用谢我。

  • 相关阅读:
    Linux Kernel 2:用户空间的初始化
    Linux Kernel系列一:开篇和Kernel启动概要
    谢宝友:会说话的Linux内核
    如何给USB移动硬盘格式化分区
    AVR单片机最小系统 基本硬件线路与分析
    Altium Designer 基本封装
    AVR单片机命名规则
    LynxFly科研小四轴横空出世,开源,F4,WIFI --(转)
    四轴自适应控制算法的一些尝试开源我的山猫飞控和梯度在线辨识自适应等算法—(转)
    我的四轴专用PID参数整定方法及原理---超长文慎入(转)
  • 原文地址:https://www.cnblogs.com/aini521521/p/6993618.html
Copyright © 2011-2022 走看看