form_*()
函数前缀为form_
执行处理表单时有用的任务。助手直接映射到Form
PHP 类及其方法。例如:
{{ form_close() }}
是以下等价的 PHP:
<?= Form::close() ?>
NOTE: 中的方法camelCase 应转换为snake_case.
form_open()
输出一个标准<form>
打开标签以及_session_key
和_token
用于 CSRF 保护的隐藏字段。如果您正在使用AJAX 架构,建议您使用form_ajax()
反而。
{{ form_open() }}
可以在第一个参数中传递属性。
{{ form_open({ class: 'form-horizontal' }) }}
上面的示例将输出如下:
<form class="form-horizontal">
有一些特殊选项也可以与属性一起使用。
{{ form_open({ request: 'onUpdate' }) }}
该函数支持以下选项:
Option | Description |
---|---|
method |
请求方法。对应于method FORM 标记属性。例如:POST ,GET ,PUT ,DELETE |
request |
提交表单时在服务器上执行的处理程序名称。见处理表格 有关事件处理程序的详细信息的文章。 |
url |
指定要将表单发布到的 URL。对应于action FORM 标记属性。 |
files |
确定表单是否将提交文件。接受的值:true 和false . |
model |
表单模型绑定的模型对象。 |
form_ajax()
输出启用 AJAX 的 FORM 开始标记。的第一个参数form_ajax()
function 是 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' } }) }}
NOTE: 尝试引用组件的别名时
__SELF__
作为论据form_ajax()
您必须首先构建您希望在调用本身之外使用的字符串。例子:
{% set targetPartial = "'" ~ __SELF__ ~ "::statistics': '#statsPanel'" %}
{{ form_ajax('onUpdate', { update: targetPartial }) }}
该函数支持以下选项:
Option | Description |
---|---|
success |
在成功结果时执行的 JavaScript 字符串。 |
error |
在失败结果上执行的 JavaScript 字符串。 |
confirm |
在发送请求之前显示的确认消息。 |
redirect |
成功后,重定向到 URL。 |
update |
以下列格式在成功时更新的部分数组:{ 'partial': '#element' } . |
data |
以下列格式包含在请求中的额外数据:{ 'myvar': 'myvalue' } . |
form_close()
输出标准的 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>