yii 2.0中表单小部件的使用方法示例


Posted in PHP onMay 23, 2017

前言

本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

使用方法

首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yii\widgets\ActiveForm yii\helpers\Html

接下来在model定义的class里 写方法,首先我们要定义需要使用表单小部件的name值

不多说上代码

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/5/10
* Time: 9:35
*/

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 dataarr($data){
$arr = array();
foreach($data as $key=>$value){
$arr[$value[‘kid']] = $value[‘kname'];
}
return $arr;
}
}

在这个model里 有将英文表头转换中文的方法 attributuLabels

还有 我们处理单选多选还有下拉框值得方式 dataarr

接下来 我 们需要创建controller

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/5/10
* Time: 9:39
*/

namespace frontend\controllers;
use yii\web\Controller;
use yii;
use db;
use frontend\models\Form;
class LoginController extends Controller
{
public function actionIndex(){
$sql = ‘select kid,kname from exam_tiku';
$data = yii::$app->db->createCommand($sql)->queryAll();
$arr = Form::dataarr($data);
//var_dump($arr);die;
$model = new Form();
return $this->render(‘index',[‘model'=>$model,'data'=>$arr]);
}
public function actionAdd(){
$data = Yii::$app->request->post();
echo $name = $data[‘Form'][‘name'];
}
}

然后就是在我门的view层 展示出来

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/5/10
* Time: 9:41
*/

use yii\helpers\Html;
use yii\widgets\ActiveForm;

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

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

在这个页面中 我们展示了 文本框 密码框 单选多选下拉框 其中下拉框的数据是从db中读取的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php 之 没有mysql支持时的替代方案
Oct 09 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
CodeIgniter多语言实现方法详解
Jan 20 PHP
CI配置多数据库访问的方法
Mar 28 PHP
php从身份证获取性别和出生年月
Feb 09 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
php将xml转化对象的实例详解
Nov 17 PHP
php实现留言板功能(会话控制)
May 23 #PHP
php实现文件预览功能
May 23 #PHP
PHP写的简单数字验证码实例
May 23 #PHP
php实现评论回复删除功能
May 23 #PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 #PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 #PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 #PHP
You might like
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
js日期联动示例
2014/05/02 Javascript
js函数调用的方式
2014/05/06 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python Tkinter基础控件用法
2014/09/03 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
使用pip安装python库的多种方式
2019/07/31 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
《在大海中永生》教学反思
2014/02/24 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
redis lua限流算法实现示例
2022/07/15 Redis