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 05 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
PHP在线打包下载功能示例
Oct 15 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
实例讲解php实现多线程
Jan 27 PHP
php的命名空间与自动加载实现方法
Aug 25 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入门源程序
2006/10/09 PHP
php使用yield对性能提升的测试实例分析
2019/09/19 PHP
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
jQuery Validate初步体验(二)
2015/12/12 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
js判断是否是手机页面
2017/03/17 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python中is与==判断的区别
2017/03/28 Python
对Django url的几种使用方式详解
2019/08/06 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
python模块如何查看
2020/06/16 Python
浅析NumPy 切片和索引
2020/09/02 Python
python PIL模块的基本使用
2020/09/29 Python
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
传播学毕业生求职信
2013/10/11 职场文书
货代行业个人求职简历的自我评价
2013/10/22 职场文书
大学自我鉴定范文
2013/12/26 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
yy生日主持词
2014/03/20 职场文书
文明城市标语
2014/06/16 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
Python 发送SMTP邮件的简单教程
2021/06/24 Python