首先创建model层

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

这里需要的组件有

yii\widgets\ActiveForm 和

yii\helpers\Html
接下来在model定义的class里 写方法

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

不多说上代码

<?php

namespace frontend\models;
use yii\base\Model;
use yii\widgets\ActiveForm;
use yii\helpers\Html; 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 frontend\controllers;
use yii\web\Controller;
use yii;
use db;
use frontend\models\Form;
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 yii\helpers\Html;
use yii\widgets\ActiveForm; $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() ?>

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

恩,不用谢我。

yii 表单小部件使用的更多相关文章

  1. yii2.0 表单小部件常用的默认选中

    下面自己总结了一下表单小部件中经常使用到的一些默认选中 直接在视图代码里面说明啦 <?php //这个表头就不多说了 use yii\helpers\Html; use yii\widgets\ ...

  2. Yii表单模型使用及以数组形式提交表单数据

    按Yii文档里的描述,Yii在处理表单的一般过程是: 创建表单对应的模型类,设置字段验证规则 创建表单提交对应的action,处理提交的内容 在视图中创建表单form 在刚刚的一个小项目里,想使用aj ...

  3. yii表单

    yii  的dropdownlist,用yii的session可以记下选中的状态 $form = $this->beginWidget('CActiveForm',array('action'= ...

  4. javascript自动填写表单小技巧

    javascript自动填写表单小技巧 在平时开发过程中,或者在访问某些站点,经常要频繁地填写一大堆表单时,我们可以利用javascript,写一段脚本,预先把要填的信息准备好,然后模拟点击按钮的动作 ...

  5. Yii 表单验证规则---总结

    Filter: 过滤,'filter'=>'trim',表示去空格 Required:必须的,表示不能为空 Match: 匹配正则,需要和pattern一起使用,定义正则表达式,'pattern ...

  6. yii表单输入元素

    InputElement http://www.yiichina.com/api/CFormInputElement CFormInputElement 可以代表以下基于type属性的表单输入类型: ...

  7. [using_microsoft_infopath_2010]Chapter8 使用InfoPath表单web部件

    本章概要: 1.配置web part 2.创建web part连接 3.创建表单参数 4.利用其它浏览器表单参数

  8. YII 表单验证规则

    官方文档:http://www.yiichina.com/guide/form.model 类参考手册:http://www.yiichina.com/api/CValidatorhttp://www ...

  9. [moka同学笔记]yii表单dropdownlist样式

    <?= $form->field($modelUser,'name') ?> <div class="form-group field-community-mobil ...

随机推荐

  1. 拒绝switch,程序加速之函数指针数组

    先看一个使用switch语句的程序: #include <stdio.h> #include <time.h> //加法 int add(int a,int b) { retu ...

  2. Memcache 和 Radis 比较

    Memcache 和 Radis 比较 2014-03-28 11:00 2447人阅读 评论(0) 收藏 举报  分类: memcache(6)  Redis(7)  版权声明:本文为博主原创文章, ...

  3. python spark 通过key来统计不同values个数

    >>> rdd = sc.parallelize([("), ("b", 1), ("a", 1), ("a", ...

  4. PDOHelper (原创)

    class PDOHelper{ public static $db =null;// new PDO('mysql:host=192.168.1.68;dbname=test','root','12 ...

  5. CharSequence源码分析

    CharSequence是一个接口,表示一个char值的可读序列,此接口为多种char序列提供统一的.只读的通道.既然是接口,就不能通过new来进行赋值,只能通过以下方式赋值: CharSequenc ...

  6. 在linux上加速git clone

    在linux上加速git clone 进入终端命令行模式,sudo vim /etc/hosts 编辑hosts文件,添加以下ip-域名,保存退出 151.101.44.249 github.glob ...

  7. Python基本数据类型之数字int

    数字 int(x, base=None) 将x转换为一个整数.base为按照多少进制进行转换 float(x) 将x转换到一个浮点数. complex(x) 将x转换到一个复数,实数部分为 x,虚数部 ...

  8. BZOJ 3509 分块FFT

    思路: 跟今年WC的题几乎一样 (但是这道题有重 不能用bitset水过去) 正解:分块FFT http://blog.csdn.net/geotcbrl/article/details/506364 ...

  9. Spring《八-一》CGLIB代理和自动代理

    CGLIB代理 配置文档 <bean id="logProxy" class="org.springframework.aop.framework.ProxyFac ...

  10. linux下恢复被删除的文件

    https://cloud.tencent.com/developer/article/1028317