如何在Zend Framework 2中实现表单预览页面?

时间:2016-05-05 16:03:21

标签: forms zend-framework2 zend-form preview zend-form2

在我目前的ZF2项目中,我有一个复杂的Form,其中包含多层嵌套Fieldset,它们反映了要在后台保存的对象的结构。目前,数据直接发送到Controller并保存到数据库(如果有效)。

现在应该实现一个中间步骤:用户应该有机会在输入数据保存到数据库之前检查输入数据。如果他决定,这是正确的,表格数据应该提交并保存到数据库中;如果用户决定必须编辑表单,他应该能够返回到表单并进行更正。 (当然是循环中的所有内容,直到用户对表单感到满意并提交它。)

这意味着需要预览页面。这个页面/ action应该获取数据并以某种方式显示它(作为表格或者然而)。数据需要暂时存储在某处,并准备好“保湿”到Form对象并保存。如果用户想要更新表单,则应该恢复表单。

如何实施此要求?

更新

我正在寻找服务器端解决方案。预览应该是一个新页面,而不是同一页面上的JavScript /客户端生成的HTML(用于跟踪和其他目的)。

2 个答案:

答案 0 :(得分:0)

我想说最好的解决方案是实现在执行表单POST请求之前执行的客户端(java-)脚本。您可以捕获表单提交事件并呈现客户端视图,在该视图中显示所有表单字段(名称和值)的当前状态。如果用户点击accept,您将继续POST操作。如果用户单击“取消”,您将返回到允许其他更改的表单视图,整个过程会自行重复。

找到如何做到这一点的例子应该不难......

一个例子是this blog post,但是the help of Google可以找到更多内容。

答案 1 :(得分:0)

由于我不知道你的应用程序/数据库是如何构建的,我只能推测你可以创建另一个表来保存临时数据,或者在用户提交表单后对其进行验证而不是将其保存到db将所有字段设置为只读,并将原始提交按钮替换为将保存数据的按钮,并将用户返回到他/她可以更改数据的表单。