【问题标题】:Submitting multiple forms from a single view从一个视图提交多个表单
【发布时间】:2013-02-18 19:23:41
【问题描述】:

使用 CakePHP 我有一个页面,其中有多个表单。每个表单都会更新记录上的单个字段。我正在尝试实现一种通过单个“提交全部”按钮提交所有表单的方法。但是,到目前为止,我的所有解决方案都不太成功。

我的第一次尝试是在带有数组的控制器中创建一个名为 editAll 的单独操作,但我无法弄清楚如何在没有隐藏表单的情况下将数据从所有表单发送到该操作数据。第二个想法是创建某种 Javascript 函数,该函数遍历所有表单以创建要发送到控制器的 editAll 操作的数组。

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

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

【问题讨论】:

  • 如果您希望所有数据一起提交,为什么要使用多个表单?
  • 正如 ADmad 所说;创建一个表单,但如果需要,在服务器端拆分/处理发布的数据
  • 好吧,我并不总是希望每次都提交所有数据。似乎在服务器上拆分数据可能是最好的方法。

标签: forms cakephp cakephp-2.2


【解决方案1】:

我假设您并不总是想提交所有这些 - 如果您这样做,那么只需制作一个表格。如果您希望能够单独提交其中一些,但也能够全部提交,那么您可以按照以下方式进行操作:

将所有字段保存在一个表单中。每个字段都有一个“提交”值(1 或 0)。如果他们单击单个字段旁边的提交,则将所有提交的值设置为 0,除了那个,然后提交表单。

如果他们单击“全部提交”,则将它们全部变为“1”并提交表单。

然后,当您处理数据时,只需去除“提交”值不为 1 的任何内容。

这仍然需要一些工作,并且您提交的数据超出了必要的数量,但是....这是一个想法。

【讨论】:

  • 这似乎是每个人都指向我的地方。感谢您的帮助。
猜你喜欢
  • 2019-08-03
  • 1970-01-01
  • 2014-01-28
  • 2014-09-30
  • 2022-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
相关资源
最近更新 更多