2016-04-29 35 views
1

Symfony 3中有一种解决方案可以在一个页面上处理多种形式?Symfony3中的一个页面上有多种形式

它的基本工作,但提交一个窗体结束为空值为另一种形式,因为所有的形式似乎有相同的名称(形式)。

我的页面上有多个handleRequests,每一个表格

$form->handleRequest($request); 

... 

$secondform->handleRequest($request); 

我想我会需要一个可能性,以检查其形式提交,但

$request->request->get($form->getName()) 

给出了两个相同的名称表格,所以这是行不通的。

是否有解决方案来处理多个表单或可能更改每个表单的名称?

+0

可能的重复:http://stackoverflow.com/questions/23994563/symfony2-two-forms-in-a-same-page 如果给定的解决方案不适用于哟,请分享您的一些代码。 –

+0

你也可以给你的提交按钮不同的名称和关键的:http://symfony.com/doc/current/book/forms.html#submitting-forms-with-multiple-buttons – Cerad

+0

该解决方案不起作用就像Symfony2一样,我仍然在寻找在Symfony3中为表单命名的可能性。 我试图用 $请求 - >请求 - > GET($形式 - >的getName()) ,以找出是否一种形式是,但要求提交给做每个表单需要有一个唯一的名称所有形式都是“形式”的名称。 – Invis00

回答

2

我在一个页面上处理多个动态生成的表单时遇到了这个问题。 isSubmitted()表现得并不理想,因为我相信它会根据表单名称进行检查,并且所有表单都具有相同的名称。因此,提交一份表格更新所有表格与该表格的数据。

我用Form Factory的createNamed方法解决了这个问题。

这是对的Symfony V3.2.1测试

​​

模板是不言自明,只是遍历窗体视图,通常使它们。确保你明确输出每个表格的form_end(),但是,当我使用form_rest()时,我感到奇怪。

相关问题