回答

收藏

基础表单组件

店滴CMS 店滴CMS 907 人阅读 | 0 人回复 | 2020-12-24

Html表单助手

处理表单标签是大量的重复性劳动并且易错。因此, Yii 也提供了一系列的方法来辅助处理表单标签。

> 注意: 考虑在处理 models 以及需要验证的情形下,使用 yii\widgets\ActiveForm 组件。

创建表单

表单可以用类似如下代码,使用 yii\helpers\Html::beginForm() 方法开启:

方法的第一个参数为表单将要被提交的 URL 地址。它可以以 Yii 路由的形式被指定,并由 yii\helpers\Url::to() 来接收处理。 第二个参数是使用的方法,默认为 post 方法。第三个参数为表单标签的属性数组。在上面的例子中, 我们把编码 POST 请求中的表单数据的方式改为 multipart/form-data。 如果是上传文件,这个调整是必须的。

关闭表单标签非常简单:

按钮

你可以用如下代码生成按钮:



上述三个方法的第一个参数为按钮的标题,第二个是标签属性。标题默认没有进行转码,如果标题是由终端用输入的,那么请自行用 yii\helpers\Html::encode() 方法进行转码。

输入栏

input 相关的方法有两组:以 active 开头的被称为 active inputs,另一组则不以其开头。 active inputs 依据指定的模型和属性获取数据,而普通 input 则是直接指定数据。

一般用法如下:

type, input name, input value, options


type, model, model attribute name, options

如果你知道 input 类型,更方便的做法是使用以下快捷方法:

  • yii\helpers\Html::buttonInput()
  • yii\helpers\Html::submitInput()
  • yii\helpers\Html::resetInput()
  • yii\helpers\Html::textInput(), yii\helpers\Html::activeTextInput()
  • yii\helpers\Html::hiddenInput(), yii\helpers\Html::activeHiddenInput()
  • yii\helpers\Html::passwordInput() / yii\helpers\Html::activePasswordInput()
  • yii\helpers\Html::fileInput(), yii\helpers\Html::activeFileInput()
  • yii\helpers\Html::textarea(), yii\helpers\Html::activeTextarea()

Radios 和 checkboxes 在方法的声明上有一点点不同:





第一个参数是 input 的名称,第二个是当前选中的值,第三个则是一个下标为列表值, 值为列表标签的名值对数组。

如果你需要使用多项选择, checkbox list 应该能够符合你的需求:


否则,用 radio list :


ActiveForm表单助手

表单类型

文本框: `textInput()`;
密码框: `passwordInput()`;
单选框: `radio()`, `radioList()`;
复选框: `checkbox()`, `checkboxList()`;
下拉框: `dropDownList()`;
隐藏域: `hiddenInput()`;
文本域: `textarea(['rows'=>3])`;
文件上传: `fileInput()`;
提交按钮: `submitButton()`;
重置按钮: `resetButtun()`;

表单区域创建




表单组件输出




















分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

21813 积分
108 主题
+ 关注
热门推荐