【发布时间】:2011-02-21 17:02:53
【问题描述】:
我对这个问题思考了好几个小时,但没有得出任何结论。我的问题是我需要在表单中添加一个“上一个”按钮。用户应填写一个分为 13 个部分的公式。每个部分都是一个自己的公式,有一个“下一步”按钮,用于将所有内容提交到数据库并重定向到下一页。
如何在此处集成“上一个”按钮? ...
如果知道我正在使用 cakePHP 对您有用的话,我不知道,而且我对它还很陌生。
【问题讨论】:
我对这个问题思考了好几个小时,但没有得出任何结论。我的问题是我需要在表单中添加一个“上一个”按钮。用户应填写一个分为 13 个部分的公式。每个部分都是一个自己的公式,有一个“下一步”按钮,用于将所有内容提交到数据库并重定向到下一页。
如何在此处集成“上一个”按钮? ...
如果知道我正在使用 cakePHP 对您有用的话,我不知道,而且我对它还很陌生。
【问题讨论】:
我用经典的 ASP 编写了一个类似的表单,看看你是否可以让它在 CakePHP 中工作:
我有一个 7 步表单,第 2-7 步有前一个按钮。每个步骤由一个 asp 脚本组成。所有脚本都发回给自己。我在每次调用脚本时检查REQUEST_METHOD,看看它是由GET 方法还是POST 调用的。如果POST 则验证数据,如果验证则保存数据。表单上有三个提交按钮,允许用户选择是否只想保存数据、保存并移至下一步或保存并移至上一步。根据单击的按钮,用户被“重定向”到上一页/下一页。这篇文章指定了如何添加和处理上一个/下一个按钮:
【讨论】:
真正的问题是,您是否要将公式的每个阶段存储在记录中?还是您想将公式的每个阶段都存储在“事务”中?这里的区别很重要。你和用户是什么关系?他们登录了吗?他们是匿名的吗?您如何将他们的答案从一个表单条目关联到下一个?如果您以某种时间顺序将每个条目存储在数据库中,则只需使用先前输入的值填充先前的表单;当他们单击上一个时。如果您不存储条目,而是利用会话在“下一次”点击之间保留值,则使用这些值填充“上一个”表单。
【讨论】:
将每个表单的 POST 数据和当前表单索引存储在会话中。
单击后退按钮时,打开表单 (currentForm - 1)(如果这是有效的表单索引)并使用 formData[currentForm] 填充字段(假设 currentForm 现在是后退按钮重定向到的表单)
【讨论】: