yii 表单小部件使用
首先创建model层
因为要使用表单小部件 所以要加载相应的组件
这里需要的组件有
yii\widgets\ActiveForm 和
yii\helpers\Html
接下来在model定义的class里 写方法
首先我们要定义需要使用表单小部件的name值
不多说上代码
<?php 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 agegat(){
$agea=array();
for($i=1;$i<100;$i++){
$agea[$i]=$i;
}
return $agea;
} static public function dataarr($data){
$arr = array();
foreach($data as $key=>$value){
$arr[$value['kid']] = $value['kname'];
}
return $arr;
}
}
在这个model里 有将英文表头转换中文的方法 attributuLabels
还有 我们处理单选多选还有下拉框值得方式 dataarr
接下来 我 们需要创建controller
<?php namespace frontend\controllers;
use yii\web\Controller;
use yii;
use db;
use frontend\models\Form;
class FormController extends Controller
{
public function actionIndex(){
$sql = 'select * from form';
$data = yii::$app->db->createCommand($sql)->queryAll();
$arr = Form::dataarr($data);
$agea=Form::agegat();
//var_dump($arr);die;
$model = new Form();
return $this->render('form',['model'=>$model,'data'=>$arr,'agea'=>$agea]);
}
public function actionAdd(){
$data = Yii::$app->request->post();
echo $name = $data['Form']['name'];
}
}
然后就是在我门的view层 展示出来
<?php use yii\helpers\Html;
use yii\widgets\ActiveForm; $form = ActiveForm::begin([
'id' => 'login-form',
'options' => ['class' => 'form-horizontal'],
'action'=>'?r=form/add',
'method'=>'post',
]) ?>
<?= $form->field($model, 'name') ?>
<?= $form->field($model, 'pwd')->passwordInput() ?>
<? $model->sex = '1'?>
<?= $form->field($model, 'sex')->radioList(['0'=>'男','1'=>'女'])?>
<? $model->hobby = ['swim','baseball' ] ?>
<?= $form->field($model, 'hobby')->checkboxList(['basketball'=>'篮球','baseball'=>'棒球','swim'=>'游泳']) ?>
<? $model->age = 3?>
<?= $form->field($model, 'age')->dropDownList($agea) ?> <div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end() ?>
好,到这里是不是感觉大功告成了。
恩,不用谢我。
yii 表单小部件使用的更多相关文章
- yii2.0 表单小部件常用的默认选中
下面自己总结了一下表单小部件中经常使用到的一些默认选中 直接在视图代码里面说明啦 <?php //这个表头就不多说了 use yii\helpers\Html; use yii\widgets\ ...
- Yii表单模型使用及以数组形式提交表单数据
按Yii文档里的描述,Yii在处理表单的一般过程是: 创建表单对应的模型类,设置字段验证规则 创建表单提交对应的action,处理提交的内容 在视图中创建表单form 在刚刚的一个小项目里,想使用aj ...
- yii表单
yii 的dropdownlist,用yii的session可以记下选中的状态 $form = $this->beginWidget('CActiveForm',array('action'= ...
- javascript自动填写表单小技巧
javascript自动填写表单小技巧 在平时开发过程中,或者在访问某些站点,经常要频繁地填写一大堆表单时,我们可以利用javascript,写一段脚本,预先把要填的信息准备好,然后模拟点击按钮的动作 ...
- Yii 表单验证规则---总结
Filter: 过滤,'filter'=>'trim',表示去空格 Required:必须的,表示不能为空 Match: 匹配正则,需要和pattern一起使用,定义正则表达式,'pattern ...
- yii表单输入元素
InputElement http://www.yiichina.com/api/CFormInputElement CFormInputElement 可以代表以下基于type属性的表单输入类型: ...
- [using_microsoft_infopath_2010]Chapter8 使用InfoPath表单web部件
本章概要: 1.配置web part 2.创建web part连接 3.创建表单参数 4.利用其它浏览器表单参数
- YII 表单验证规则
官方文档:http://www.yiichina.com/guide/form.model 类参考手册:http://www.yiichina.com/api/CValidatorhttp://www ...
- [moka同学笔记]yii表单dropdownlist样式
<?= $form->field($modelUser,'name') ?> <div class="form-group field-community-mobil ...
随机推荐
- uva 1555 Garland
题意:有n个灯笼.第一个的高度是A,最后一个是B.灯笼的关系给出.并要求每一个灯笼的高度是非负数的.求最低的B 思路:推出公式:H[i]=2*H[i-1]+2-H[i-2],然后枚举H[2],在知道H ...
- Python去除多余空格
今天做爬虫时.发现结果中好多多余的空格.然后有强迫症的我当然不会放过 " xyz ".strip() # returns "xyz" " xyz &q ...
- luogu2618 数字工程 DP
题目大意:ACM实验室开启了一个数字工程项目,希望把正整数n通过一些特殊方法变成1.可采用的方法有:(1)减去1:(2)除以它的任意一个素因子. 每操作一次消耗一个单位的能量.问,把n变成1最少需要消 ...
- putty配色方案【转】
本文转载自:http://blog.csdn.net/hfut_jf/article/details/53636080 putty默认的配色方案简直毫无人道主义可言,所以找了个,好多了,转载自http ...
- 【转】坑爹的AsyncTask之根本停不下来
原文网址:http://www.jianshu.com/p/0c6f4b6ed558 上篇<坑爹的AsyncTask之内存泄露>已经简单的探讨过线程使用不当会造成内存泄露的问题,在Acti ...
- Node.js:路由
ylbtech-Node.js:路由 1.返回顶部 1. Node.js 路由 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码. 因 ...
- redis集群部署及常用的操作命令_01
简单说下自己测试搭建简单的redis集群的大体步骤: 1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能 ...
- 在Mac OSX上安装ffmpeg && ffmpeg命令行将h264封装为mp4
ffmpeg功能强大,可以通过命令行来对音视频进行处理.为了使用其功能,我在Mac上对其进行了安装. 我的Mac OS X 系统版本:OS X Yosemite, 10.10.14 关于ffmpeg在 ...
- [转]C# ListView 单击标题实现排序(在转载的基础上有所完善)
using System; using System.Collections; using System.Windows.Forms; //在转载的基础上有所完善 namespace TDRFacto ...
- js中获取浏览器和屏幕高度
Javascript: IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高 ...