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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP 变量类型的强制转换
Oct 23 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
PHP浮点数精度问题汇总
May 13 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
Sep 29 PHP
php 的多进程操作实践案例分析
Feb 28 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
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
vue 获取视频时长的实例代码
2019/08/20 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
django反向解析和正向解析的方式
2018/06/05 Python
python实现维吉尼亚加密法
2019/03/20 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
公司证明怎么写
2014/09/22 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
小学安全教育主题班会
2015/08/12 职场文书
担保书怎么写 ?
2019/04/22 职场文书
如何通过cmd 连接阿里云服务器
2022/04/18 Servers