This article mainly introduces you to the use of form widgets in Yii 2.0. The introduction in the article is very detailed and has certain reference learning value for everyone's study or work. Friends who need it can take a look below. I hope to be helpful.
Preface
This article mainly introduces the relevant content about the use of form widgets in yii 2.0. It is shared for your reference and study. Below Let’s take a look at the detailed introduction:
Usage method
First create the model layer. Because you want to use form widgets, you need to load the corresponding components. , the components required here are yii\widgets\ActiveForm yii\helpers\Html
Next, write the method in the class defined by the model. First, we need to define the name value that needs to be used in the form widget
Not much to say about the code
<?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 dataarr($data){ $arr = array(); foreach($data as $key=>$value){ $arr[$value[‘kid']] = $value[‘kname']; } return $arr; } }
In this model, there is a method for converting English headers into Chinese attributeLabels
There is also our processing order Multiple selections and drop-down boxes are worth the method dataarr
Next we need to create a 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'; $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']; } }
and then display it on the view layer of our door Come out
<?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) ?> <p class=”form-group”> <p class=”col-lg-offset-1 col-lg-11″> <?= Html::submitButton(‘Login', [‘class' => ‘btn btn-primary']) ?> </p> </p> <?php ActiveForm::end() ?>
In this page we show the text box password box single-select multi-select drop-down box where the data of the drop-down box is read from db
Related Recommendation:
Yii2 implements QQ Internet login
Yii2 simple analysis using cache
Yii2 implements rbac permission control
The above is the detailed content of Detailed explanation of the use of Yii2 form widgets. For more information, please follow other related articles on the PHP Chinese website!