-1

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

我有一个页面,它是用布局构建的,在中心有一个带有 2 个按钮和一个普通表单的视图。2 个按钮用于在两种输入形式之间切换。当提交被按下时,两个表单都被提交。第一种形式用于一般信息,第二种形式用于根据需要上传图像和信息。

现在为了避免这个问题,为什么不使用一种形式?要求以这种方式将两者分开。

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

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

基本上它就像一个带有 2 个选项卡的页面,每个选项卡都有一个表单,并且只有 1 个提交按钮来提交两个选项卡上的表单。

我只是不知道如何创建这两个按钮来存储帖子数据,然后让“最终”提交按钮使用以前的帖子数据,然后使用其他表单数据来创建一个新的组合帖子数据以存储在数据库。

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

提前致谢!

4

1 回答 1

1

这里有许多选项,一个选项是创建一个表单并将两个单独的部分添加为子表单,即 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

希望这可以帮助。

于 2012-05-10T00:05:04.947 回答