【发布时间】:2011-04-12 23:55:54
【问题描述】:
我有一个三步表格,其中每个步骤都有自己的动作。操作重定向到下一步。数据存储在会话范围内。我有一个过滤器,可以防止用户通过发布请求以外的任何方式访问表单处理程序。
但是,没有什么可以阻止某人手动输入步骤的地址。为了解决这个问题,我在会话中设置了一个 currentStep 变量。
<!--- Some data is processed here --->
<cfset session.currentStep = "stepTwo">
在第二步中,我将检查结构键:
<cfif NOT session.currentStep = "stepTwo">
<!--- redirect to #session.currentStep# --->
这种方法有效,但它有一个主要缺点:用户无法在浏览器窗口中按下后退按钮,或编辑他或她已经输入的任何数据。
实施多步骤表单的最佳做法是什么?我可以改进我的流程以合并后退按钮功能吗?
【问题讨论】:
-
使用 JS:coldfusionjedi.com/index.cfm/2010/5/27/… 可惜这个不支持返回键,不过你可以加一下。
-
Henry,我想过这个问题,但我认为这会让事情变得更复杂。实现服务器端验证成为一个挑战。例如,您如何将用户引导回正确的步骤?
标签: forms coldfusion multi-step