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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
解析php取整的几种方式
Jun 25 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
PHP访问Google Search API的方法
Mar 05 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PHP APP微信提现接口代码
Sep 30 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
各种咖啡的英文名子是什么
2021/03/03 新手入门
深入PHP curl参数的详解
2013/06/17 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
自己的js工具_Form 封装
2009/08/21 Javascript
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
手把手教你python实现SVM算法
2017/12/27 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python实现Flappy Bird源码
2018/12/24 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
逃出克隆岛观后感
2015/06/09 职场文书