如何改变一个表单的动作和方法
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
如何改变一个表单的动作和方法
默认情况下,表单将提交通过一个HTTP POST请求的URL相同形式呈现。有时你想要改变这些参数。你可以在几个不同的方式这样做。
如果你使用FormBuilder建立表单,您可以使用setAction ()
和setMethod ()
:
1 2 3 4 5 6 7
美元形式=美元这- >createFormBuilder (美元任务)- >setAction (美元这- >generateUrl (“target_route”))- >setMethod (“得到”)- >add (“任务”,TextType::类)- >add (“dueDate”,DateType::类)- >add (“保存”,SubmitType::类)- >getForm ();
请注意
这个示例假设您已经创建了一个路线target_route
指向控制器处理表单。
当使用一个表单类型类,您可以通过行动和方法形式选择:
1 2 3 4 5 6 7
使用AppBundle\形式\TaskType;/ /……美元形式=美元这- >createForm (TaskType::类,美元任务,数组(“行动”= >美元这- >generateUrl (“target_route”),“方法”= >“得到”));
最后,您可以覆盖行动和方法通过他们的模板形式()
或者是form_start ()
辅助功能:
- 嫩枝
- PHP
1 2
{# app /资源/视图/ / new.html违约。树枝#}{{form_start(形式,{“行动”:路径(“target_route”)、“法”:“得到”})}}
1 2 3 4 5 6 7
< !——app /资源/视图/ / newAction.html违约。php - - >< ? php回声美元视图(“形式”]- >开始(美元形式,数组(/ /路径()方法是在Symfony 2.8中引入的。ob娱乐下载在2.8之前,/ /你必须使用产生()。“行动”= >美元视图(“路由器”]- >路径(“target_route”),“方法”= >“得到”,))? >
请注意
如果表单的方法不是GET或POST,但把补丁或删除,Symfony会插入一个隐藏字段的名称ob娱乐下载_method
存储这个方法。表单将提交在一个正常的POST请求,但Symfony的路由器能够检测ob娱乐下载_method
参数,将它视为一个补丁或删除请求。看到FrameworkBundle配置(“框架”)选择。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。