2010-05-20 66 views
2

我想过这个问题小时,但我并没有得出任何结论。我的问题在于我需要将一个'Previous'按钮添加到表单中。用户应该填写一个分成13部分的公式。每个部分都是一个自己的表单,它具有一个'下一步'按钮,用于将所有内容提交到数据库并重定向到下一页。“上一个”按钮

我如何有集成“上一个”按钮? ...

我不,如果它可能是有用的,你知道,我使用CakePHP的,和好,我是很新,它。

回答

1

我在经典ASP编码类似的形式,看你能不能让它在CakePHP的工作:

我有一个7步形式,步骤2-7以前有过的按钮。每个步骤都包含一个asp脚本。所有脚本都会发回给自己。我在脚本的每次调用检查REQUEST_METHOD,看它是否是由GET方法或POST调用。如果POST则验证数据,如果验证则保存。表单上有三个提交按钮,用户可以选择是否只保存数据,保存并移至下一步或保存并移至上一步。根据点击哪个按钮,用户被“重定向到”上一页/下一页。这个帖子指定如何添加和处理上一个/下一个按钮:

Multiple Submit Buttons — Specifying default button

+0

,这导致我想到解决方案!感谢大家的帮助! – Andre 2010-05-20 05:48:56

2

存储各种形式的POST数据,并在会话当前表单指数。 当单击后退按钮,开放的形式(currentForm - 1)(如果这是一个有效的形式指数),并与formData[currentForm]填充字段(假设currentForm现在后退按钮重定向形式)

+0

这就是我以前的想法,存放在会后的数据,但它会是很多,我也需要“不完整”的数据。这意味着每次用户点击“下一个”按钮时都必须写入数据库。 – Andre 2010-05-20 05:44:58

2

真正的问题是,你想将公式的每个阶段存储在记录中?或者你想在“交易”中存储公式的每个阶段?这里的区别很重要。你与用户的关系是什么?他们是否登录?他们是匿名的吗?你如何将他们的答案从一个表格输入到另一个表格?如果您按时间顺序将每个条目存储在数据库中,则只需使用先前输入的值填充以前的表单;当他们点击之前。如果您不存储条目,而是利用会话在“下一次”点击之间保留值,则使用这些值填充“前一个”表单。

+0

实际上用户是匿名的,发生什么事是他们点击'next'后他们的数据将被保存在一张表中。只要他们点击第2,3,4,5页上的'下一个'...他们提供的数据仍然存在于数据库中的特定条目中。所以我在这里首先使用INSERT VALUES工作,然后才更新,直到他们到达最后一页。 但我不知道如何才能使以前的按钮将它们导向它回来了?!我只是有一个动作属性,指向下一页... – Andre 2010-05-20 05:43:45

+0

优秀,这意味着你有他们正在更新的记录的ID。这意味着你可以使用会话来确定他们是否已经回答了前一个阶段,并存储了前一个阶段的“地点”,当用户点击下一个按ID更新记录时,如果他们点击之前只是检索最后一组来自同一ID的值并填充表单。提供一些你的代码,我相信我们可以让你去。 – Gabriel 2010-05-20 06:08:31