簡介
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...