Rumah  >  Artikel  >  pembangunan bahagian belakang  >  详解Yii2表单小部件的使用

详解Yii2表单小部件的使用

*文
*文asal
2018-01-03 13:29:121565semak imbas

本文主要给大家介绍了关于yii 2.0中表单小部件的使用方法,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。希望对大家有所帮助。

前言

本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

使用方法

首先创建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&#39;=>&#39;用户名&#39;,
        ‘pwd&#39;=>&#39;密码&#39;,
        ‘sex&#39;=>&#39;性别&#39;,
        ‘hobby&#39;=>&#39;爱好&#39;,
        ‘age&#39;=>&#39;年龄&#39;
        ];
    }
    static public function dataarr($data){
        $arr = array();
        foreach($data as $key=>$value){
        $arr[$value[‘kid&#39;]] = $value[‘kname&#39;];
        }
        return $arr;
    }
}

在这个model里 有将英文表头转换中文的方法 attributuLabels

还有 我们处理单选多选还有下拉框值得方式 dataarr

接下来 我 们需要创建controller

<?php

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&#39;;
$data = yii::$app->db->createCommand($sql)->queryAll();
$arr = Form::dataarr($data);
//var_dump($arr);die;
$model = new Form();
return $this->render(‘index&#39;,[‘model&#39;=>$model,&#39;data&#39;=>$arr]);
}
public function actionAdd(){
$data = Yii::$app->request->post();
echo $name = $data[‘Form&#39;][‘name&#39;];
}
}

然后就是在我门的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&#39; => ‘login-form&#39;,
‘options&#39; => [‘class&#39; => ‘form-horizontal&#39;],
‘action&#39;=>&#39;?r=login/add&#39;,
‘method&#39;=>&#39;post&#39;,
]) ?>
<?= $form->field($model, ‘name&#39;) ?>
<?= $form->field($model, ‘pwd&#39;)->passwordInput() ?>
<?= $form->field($model, ‘sex&#39;)->radioList([‘0&#39;=>&#39;男&#39;,&#39;1&#39;=>&#39;女&#39;]) ?>
<?= $form->field($model, ‘hobby&#39;)->checkboxList([‘basketball&#39;=>&#39;篮球&#39;,&#39;baseball&#39;=>&#39;棒球&#39;,&#39;swim&#39;=>&#39;游泳&#39;]) ?>
<?= $form->field($model, ‘age&#39;)->dropDownList($data) ?>

<p class=”form-group”>
<p class=”col-lg-offset-1 col-lg-11″>
<?= Html::submitButton(‘Login&#39;, [‘class&#39; => ‘btn btn-primary&#39;]) ?>
</p>
</p>
<?php ActiveForm::end() ?>

在这个页面中 我们展示了 文本框 密码框 单选多选下拉框 其中下拉框的数据是从db中读取的

相关推荐:

Yii2实现QQ互联登录

Yii2使用缓存的简单解析

Yii2实现rbac权限控制

Atas ialah kandungan terperinci 详解Yii2表单小部件的使用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn