yii2 常用元件 表單

2021-08-07 22:14:52 字數 3741 閱讀 9910

簡介

yii2中最常用的元件activeform,通過對activeform的靈活運用,能有效的提公升開發效率,所以這個是不得不說的乙個yii2元件,那麼下面就來了解一下yii2.0的activeform的具體用法

用法

<?php $form = activeform::begin(['id' => 'form-signup']); ?>

//文字框的標題

<?= $form->field($model, 'test1')->label('文字框的標題') ?>

//文字框下方的提示

<?= $form->field($model, 'test2')->hint('測試hint'); ?>

//input(type) type的型別有 text password等

<?= $form->field($model, 'test3')->input('text')?>

//簡單文字框

<?= $form->field($model, 'test3')->textinput(['maxlength' => true])?>

//隱藏文字框

<?= $form->field($model, 'test3')->hiddeninput() ?>

//密碼文字框,應用於登入的密碼輸入框

<?= $form->field($model, 'test3')->passwordinput() ?>       

//文字域 應用於輸入內容較多比如文章簡介等 rows=>3 表示文字域高為3

<?= $form->field($model, 'test3')->textarea(['rows'=>'3']) ?>

//檔案上傳

<?= $form->field($model, 'test3')->fileinput() ?>

//勾選框

<?= $form->field($model, 'test3')->radio() ?>

//多選框

<?= $form->field($model, 'test3')->checkbox() ?>

//listbox   

<?= $form->field($model, 'test3')->listbox(['0'=>'box1','1'=>'box2']) ?>

//多謝框列表,常用

<?= $form->field($model, 'test3')->checkboxlist(['0'=>'box1','1'=>'box2']) ?>

//單選框列表,常用

<?= $form->field($model, 'test3')->radiolist(['0'=>'radio1','1'=>'radio2'])?>

//下拉框列表

<?= $form->field($model, 'test3')->dropdownlist(

['1'=>'下拉選項1','2'=>'下拉選項2'],

['prompt' => '請選擇']

) ?>

<?= $form->field($model,'test3')->widget(yii\captcha\captcha::classname())?>

<?= html::submitbutton('按鈕', ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?>

<?php activeform::end(); ?>

上面基本涵蓋了activeform的所有文字框的例子,但是如果我們需要對表單的結構做自定義的調整,以適用每個不同專案的需求,那是不是就沒法用activeform了?請看下面自定義表單結構

自定義表單結構

use yii\bootstrap\activeform;

$form = activeform::begin(['layout' => 'horizontal']);

// 隱藏form的標籤 

echo $form->field($model, 'demo', [

'inputoptions' => [

'placeholder' => $model->getattributelabel('demo'),

],])->label(false);

// 內聯 radio list

echo $form->field($model, 'demo')->inline()->radiolist($items);

//水平模式控制文字框的大小

echo $form->field($model, 'demo', [

'horizontalcssclasses' => [

]]);

// 除了'default(預設)' 布局 你還可以用 'template' 制定特定的布局:

echo $form->field($model, 'demo', [

'template' => ' 

' ]);

// 自定義輸入框的結構

echo $form->field($model, 'demo', [

'inputtemplate' => '@

', ]);

activeform::end();

詳細引數

[[\yii\widgets\activefield]]. 加強版的bootstrap 3

1.這個類新增了一些有用的功能到 [[\yii\widgets\activefield|activefield]] 在不同的形式布局中提供各種bootstrap3的表單域:

- [[inputtemplate]] 是乙個用來呈現複雜輸入的可選模板,例如輸入組

- [[horizontalcssclasses]] 以橫向形式定義了css網路格以增加標籤,包裝和錯誤提示

- [[inline]]/[[inline()]] 被用於提供內聯的[[checkboxlist()]] 和[[radiolist()]]

- [[enableerror]] 被設定為『false』以禁用錯誤

- [[enablelabel]] 被設定為`false` 以禁用標籤

- [[label()]] 和boolean值一起使用,來啟用和禁用標籤

2.也有一些新的佔位符,你可以用在 [[template]] 結構中:

- ``: 開始標籤

- ``: 標籤的標題,和 ``/``一起使用

- ``: 結束標籤

3.包裝標籤僅用於某些布局和表單元素.

請注意,某些元素使用了 [[template]]的輕微不同的預設值和其他選項.

你可以重寫這些預定義模板核取方塊, radio buttons, checkboxlists和 radiolists 在 [[\yii\widgets\activeform::fieldconfig|fieldconfig]] 的

[[\yii\widgets\activeform]]:

- [[checkboxtemplate]] 在預設布局核取方塊模板

- [[radiotemplate]] 預設布局中的radio button模板 

- [[horizontalcheckboxtemplate]] 水平布局的 checkboxes模組

- [[horizontalradiotemplate]] 水平布局的 radio buttons 模組

- [[inlinecheckboxlisttemplate]] 內聯的 checkboxlists模組

- [[inlineradiolisttemplate]] 內聯的 radiolists模組

yii2常用ActiveForm表單

表單整體輸出樣式 form activeform begin options enctype multipart form data class form horizontal method post template template n n colclass class col sm 3 con...

Yii2建立表單

文字框 textinput 密碼框 passwordinput 單選框 radio radiolist 核取方塊 checkbox checkboxlist 下拉框 dropdownlist 隱藏域 hiddeninput 文字域 textarea rows 3 檔案上傳 fileinput 提交按...

yii2表單學習

呼叫 request 元件寫法 在controller 檔案中定義方法名字時,如果名字是駝峰形,即 actionshowuser 這樣子的,訪問鏈結需要寫為 web index.php?r test show user,需要在兩個單詞中間加上一條短橫線 等價於 表單的建立 addform class...