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() ?>

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

    恩,不用谢我。

  • 相关阅读:
    (转)C#特性详解
    PHP MSSQL数据操作PDO API
    DWR
    配置JAVA的环境变量
    关​于​h​i​b​e​r​n​a​t​e​中​双​向​外​键​关​联​o​n​e​-​t​o​-​o​n​e​的​p​r​o​p​e​r​t​y​-​r​e​f​=​的​问​题(转)
    Hibernate 二级缓存 总结整理(转)
    EhCache 分布式缓存/缓存集群(转)
    MySQL分区表(转)
    通用权限设计
    (转)关于Struts 2 拦截器参数丢失问题
  • 原文地址:https://www.cnblogs.com/aini521521/p/6993618.html
Copyright © 2011-2022 走看看