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 12 PHP
PHP文件上传原理简单分析
May 29 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
php微信开发之图片回复功能
Jun 14 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
PHP新手指南
Apr 01 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
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
母婴店促销方案
2014/03/05 职场文书
经典洗发水广告词
2014/03/13 职场文书
机关节能减排实施方案
2014/03/17 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
Golang中channel的原理解读(推荐)
2021/10/16 Golang