Zend Framework提交2个表单,1个提交[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zend Framework提交2个表单,1个提交[关闭]相关的知识,希望对你有一定的参考价值。

好吧这听起来很简单,但有一个问题。我会试着解释一下情况。

我有一个用布局构建的页面,在中心有一个带有2个按钮和普通表单的视图。 2个按钮用于在两个输入表单之间切换。按下提交后,将提交两个表单。第一种形式用于一般信息,第二种形式用于上传图像以及信息(如果需要)。

现在避免问题为什么不使用一个表格?这是要求以这种方式保持两个分开。

所以我考虑使用2个视图,其中前2个按钮将像提交一样,创建带有表单数据的POST请求,但实际上并未将其提交到数据库。然后重定向到第二个视图,您可以在其中上传图像。

然后当按下实际提交按钮时,我希望收集的所有数据都写入数据库。

基本上它就像一个带有2个标签的页面,每个标签都有一个表单,只有1个提交按钮,用于在两个标签上提交表单。

我无法理解如何创建这两个按钮来存储帖子数据,然后让“最终”提交按钮使用之前的帖子数据,然后使用其他表单数据创建一个新的组合帖子数据来存储数据库。

任何人都知道如何实现这一目标?我正确地接近这个还是有更简单或更清洁的方法来做到这一点?

提前致谢!

答案

这里有许多选项,一个选项是创建一个表单并将两个单独的部分添加为SubForms,即Zend_Form_SubForm的实例。然后,您可以单独设置表单的样式,选中它们,但为两者保留一个提交按钮。同样,当您提交时,表单数据将被分成每个子表单的数组元素。

你可以在这里看到更多相关信息:

http://framework.zend.com/manual/en/zend.form.advanced.html#zend.form.advanced.multiPage

我喜欢的另一个解决方案是使用动作助手来分割将表单添加到两个页面的过程,类似于上面的url,但是将表单信息存储在会话对象中,直到两者都被验证,然后立即处理两个表单。

http://framework.zend.com/wiki/display/ZFPROP/Zend_Controller_Action_Helper_Multiform+Proposal+-+Simon+Mundy

http://framework.zend.com/wiki/pages/viewpage.action?pageId=42130

希望这可以帮助。

以上是关于Zend Framework提交2个表单,1个提交[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?

Zend Framework 2 CSRF 验证

Zend Framework 3 BaseInputFilter :: setData()抛出InvalidArgumentException

php提交参数很多的表单 有啥简单的办法

设置 zend 框架动作控制器

有没有办法用 1 个提交按钮 mvc 提交 3 个表单