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 Undefined index的问题
Jun 01 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP中的Streams详细介绍
Nov 12 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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语法速查表
2007/01/02 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Django 中 cookie的使用
2017/08/17 PHP
JavaScript Prototype对象
2009/01/07 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
python实现的系统实用log类实例
2015/06/30 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Python处理文本换行符实例代码
2018/02/03 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
什么是反射
2012/03/17 面试题
英文版餐饮业求职信
2013/10/18 职场文书
大学生毕业的自我鉴定
2013/11/13 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
杨善洲观后感
2015/06/04 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书