以 form_ 为前缀的函数执行在处理表单时有用的任务。此辅助函数直接映射到 Form PHP 类及其方法。例如:
{{ form_close() }}以上是以下 PHP 代码的等价形式:
<?= Form::close() ?>注意:驼峰命名法 的方法应转换为 下划线命名法。
输出一个标准的 <form> 开头标签,以及用于 CSRF 保护的 _session_key 和 _token 隐藏字段。如果您正在使用 AJAX 框架,建议您改用 form_ajax()。
{{ form_open() }}属性可以在第一个参数中传递。
{{ form_open({ class: 'form-horizontal' }) }}以上示例将输出如下:
<form class="form-horizontal">还有一些特殊选项也可以与属性一起使用。
{{ form_open({ request: 'onUpdate' }) }}此函数支持以下选项:
| 选项 | 描述 |
|---|---|
| method | 请求方法。对应于 FORM 标签的 method 属性。例如:POST, GET, PUT, DELETE |
| request | 表单提交时在服务器上执行的处理程序名称。有关事件处理程序的详细信息,请参阅 AJAX 处理程序 文章。 |
| url | 指定表单提交到的 URL。对应于 FORM 标签的 action 属性。 |
| files | 确定表单是否提交文件。接受的值:true 和 false。 |
| model | 用于表单模型绑定的模型对象。 |
输出一个启用 AJAX 的 FORM 开头标签。form_ajax() 函数的第一个参数是 AJAX 处理程序名称。处理程序可以在布局或页面 PHP 代码块中定义,也可以在组件中定义。您可以在 AJAX 框架 文章中找到有关 AJAX 的更多信息。
{{ form_ajax('onUpdate') }}属性可以在第二个参数中传递。
{{ form_ajax('onSave', { class: 'form-horizontal'}) }}以上示例将输出如下:
<form data-request="onSave" class="form-horizontal">还有一些特殊选项也可以与属性一起使用。
{{ form_ajax('onDelete', { data: { id: 2 }, confirm: 'Really delete this record?' }) }}
{{ form_ajax('onRefresh', { update: { statistics: '#statsPanel' } }) }}注意:当尝试使用
__SELF__作为form_ajax()的参数来引用组件的别名时,您必须首先在调用本身之外构建您希望使用的字符串。示例:
{% set targetPartial = "'" ~ __SELF__ ~ "::statistics': '#statsPanel'" %}
{{ form_ajax('onUpdate', { update: targetPartial }) }}此函数支持以下选项:
| 选项 | 描述 |
|---|---|
| success | 成功结果时执行的 JavaScript 字符串。 |
| error | 失败结果时执行的 JavaScript 字符串。 |
| confirm | 在发送请求之前显示的确认消息。 |
| redirect | 成功结果时,重定向到 URL。 |
| update | 成功时要更新的部分数组,格式如下:{ 'partial': '#element' }。 |
| data | 请求中包含的额外数据,格式如下:{ 'myvar': 'myvalue' }。 |
输出一个标准的 FORM 结束标签。此标签通常用于提供用法上的一致性。
{{ form_close() }}以上示例将输出如下:
</form>您可以通过将属性名称和值的数组传递给 Form::open() 方法,以将额外的属性渲染到最终生成的 <form> 元素上。
<?= Form::open(array('id' => 'example', 'class' => 'something')) ?>
// ..
<?= Form::close() ?>以上示例将输出如下:
<form method="POST" action="" accept-charset="UTF-8" id="example" class="something">
</form>