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 小乘法表实现代码
Jul 16 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
php下载文件的代码示例
Jun 29 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
php函数连续调用实例分析
Jul 30 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
PHP HTTP 认证实例详解
Nov 03 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
laravel请求参数校验方法
Oct 10 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
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
Python实现Restful API的例子
2019/08/31 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
科室工作的个人自我评价
2013/10/30 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
合作协议书格式
2014/08/19 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书