表单整体输出样式
$form = ActiveForm::begin([
'options' => ['enctype' => 'multipart/form-data', 'class' => 'form-horizontal'],
'method' => 'post',
]);
$template = ['template' => "{label}\n
$colClass = ['class' => 'col-sm-3 control-label no-padding-right'];
?>
Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField,
要生成一个具有label、input、error提示这样通用格式的登录框,可编写如下代码:
'id' => 'login-form',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
'template' => "{label}\n
'labelOptions' => ['class' => 'col-lg-1 control-label'],
],
]); ?>
= $form->field($model, 'username') ?>
= $form->field($model, 'password')->passwordInput() ?>
上述代码生成两个带默认标签名(如Username,Password)的表单输入框(input)。
如果想更改输入框的标签及其样式,有两个方式,一个是通过labelOptions参数:
= $form->field($model, 'username',['labelOptions' => ['label' => 'Nick name','class' => 'your own class']]) ?>
还有一个更加面向对象的方法是:
= $form->field($model, 'username')->textInput()->hint('Please enter your nick name instead of email')->label('Nick name') ?>
文本框:textInput
= $form->field($model, 'name', $template)
->textInput(['maxlength' => true, 'value'=>'123', 'name'=>'user_name'])
->label('姓名', $colClass);
?>
下拉框:dropDownList
<?php $member_model->member_identity = $value['member_identity'] ;//默认选中的值?>
= $form->field($member_model, 'member_identity', $template)
->dropDownList(['1'=>"群主",'2'=>"代表"],['name'=>'member_identity'])
->label('身份', $colClass)
?>