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制作静态网站的模板框架(一)
Oct 09 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
PHP代码优化的53个细节
Mar 03 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
php构造函数与析构函数
Apr 23 PHP
php 三大特点:封装,继承,多态
Feb 19 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP实现文件上传操作和封装
Mar 04 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
上传多个文件的PHP脚本
2006/11/26 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
Python 制作糗事百科爬虫实例
2016/09/22 Python
Python进程间通信之共享内存详解
2017/10/30 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
python利用7z批量解压rar的实现
2019/08/07 Python
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
DELPHI面试题研发笔试试卷
2015/11/08 面试题
外贸业务员求职信范文
2013/12/12 职场文书
委托书模板
2014/04/04 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
企业法人代表证明书
2014/09/27 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书