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环境――Appserv
Dec 13 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
ThinkPHP控制器详解
Jul 27 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
php组合排序简单实现方法
Oct 15 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 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.ini 配置文件的深入解析
2013/06/17 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
php绘制一条直线的方法
2015/01/24 PHP
PHP精确计算功能示例
2016/11/29 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
php实现的顺序线性表示例
2019/05/04 PHP
JS模拟多线程
2007/02/07 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
js实现中文实时时钟
2020/01/15 Javascript
python更新列表的方法
2015/07/28 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
毕业生的求职信范文分享
2013/12/04 职场文书
创业计划书之电动车企业
2019/10/11 职场文书