2013-02-18 104 views
0

使用CakePHP我有一个页面,我有多个表单。每个表单都会更新记录中的单个字段。我试图通过一个“提交所有”按钮来实现一种提交所有表单的方式。但是,迄今为止我所有的解决方案都是成功的。从单个视图提交多个表单

我第一次尝试创建一个名为中夺走了阵列控制器editAll单独行动,但我无法弄清楚如何从所有形式的行动发送数据,而无需一个隐藏的形式保存所有数据。第二个想法是创建一些Javascript函数,它遍历所有表单以创建一个数组,以发送到控制器的动作editAll

第一个实现没有工作,我找不到合理的方法来实现第二个想法。

基本上,我希望有人能够指示我一次从单个页面提交多个表单(或至少来自多个表单的数据)的方向。

+1

如果你想要所有的数据一起提交你为什么使用多个表单? – ADmad 2013-02-18 19:59:05

+0

正如ADmad所说;创建一个表单,但是如果需要的话可以拆分/处理发布的数据服务器端 – thaJeztah 2013-02-18 21:26:24

+0

嗯,我并不总是希望每次都提交所有数据。看起来分裂服务器上的数据可能是实现这一目标的最佳方式。 – 2013-02-19 00:30:42

回答

0

我假设你并不总是想要全部提交 - 如果你这样做,那么只需制作一份表格。如果你希望能够单独提交他们中的一些,但也能够提交他们,那么你可以按照以下方式做一些事情:

保留所有的字段在一个表单中。对于每个字段都有一个'已提交'值(1或0)。如果他们点击单个字段旁边的提交,则将所有提交的值都设为0,除此之外的值,然后提交表单。

如果他们点击全部提交,然后将它们都转为'1'并提交表单。

然后,当你处理这些数据,只是剥夺任何没有“提交”的1

值它仍然会采取一些工作,您所提交的数据比是必要的,但....这是一个想法。

+0

这似乎是大家一直指向我的地方。谢谢您的帮助。 – 2013-02-19 00:35:36