首先创建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. iOS快速打企业包ipa

    简 首页 专题 发钱啦 注册 登录 简首页专题下载手机应用 gege 2016.01.19 16:55 写了24604字,被92人关注,获得了152个喜欢 iOS快速打企业包ipa 字数256 阅读1 ...

  2. js中简单操作

    去空格:ss.replace(/\s/g,""); 数组: 千万不能用in操作符 in 是说存不存在这个key而不是value! var a = [66,99,77]; 66 in ...

  3. yolo源码解析(3):进行简单跳帧

    视频检测命令  ./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights ../../dataset/ ...

  4. Linux - 进程管理,ps与top

    一个运行的程序,可能有多个进程. PID进程ID. UID启动进程的ID. 进程所属组GID. 进程的状态R运行.S睡眠.Z僵尸. 父进程管理子进程,父进程终止的时候子进程也会终止. 常用的组合为: ...

  5. DNS Tunneling及相关实现——总之,你发起攻击都需要一个DNS server,下载一些工具作为client发起数据,server收集数据并响应

    摘自:http://www.freebuf.com/sectool/112076.html DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DNS协议中传输建立通信.因为在我们的网络 ...

  6. 在ubuntu中安装Markdown神器Typora

    title: 在ubuntu中安装Markdown神器Typora toc: false date: 2018-09-01 17:48:15 categories: methods tags: ubu ...

  7. 跨域解决方案之JSONP,通过借助调用百度搜索的API了解跨域案例

    跨域解决方案之JSONP 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web ...

  8. 判断输入的值是否为Double

    using System; using System.Collections.Generic; using System.Text; namespace TDRFactory { public cla ...

  9. IE浏览器缓存导致Ajax请求失败

    在IE浏览器中通过Ajax请求后台的数据,如果Page请求是postback类型的,可能会导致Ajax请求失败的问题 我们都知道ajax能提高页面载入的速度主要的原因是通过ajax减少了重复数据的载入 ...

  10. Codeforces Round #446

    Greed #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector&g ...