在一个网站中,我想实现一个向导。它应该看起来像一系列表格。
我的要求是:
- 用户应该能够使用后退和前进浏览器按钮,而不会被提示重新提交表单(来回时)。
- 如果用户在先前填写的页面上返回或前进,则应自动完成这些字段
- 如果用户尝试访问一个页面而没有填写前面的步骤,他应该被相应地重定向(最后一个需要的页面)。
- 用户应该能够在离开和回来后恢复表单完成。
- 在我的模型中,每一页都需要填写前一页。每个页面都有自己的验证。
- 网址应该很漂亮。
- 该向导应该在没有 javascript 的情况下工作(但不是强制性的)。
你将如何实施它?(一系列http post表单,http get表单,是否通过javascript提交?)
想法:
我计划将所有信息存储在会话中,并在向导结束时将信息保存在数据库中并删除当前会话信息。这样我就可以自动完成这些字段,并知道用户在完成向导时的位置。
我的主要担忧:
- 如果我使用 http 帖子表单实现,浏览器将提示重新提交每个表单(我不知道如何控制它)
- 如果我使用 http GET 表单实现它,则 URL 会充满信息,并且可能会很长。这不是 GET 请求的手段。
- 如果我通过 javascript 通过 http post 提交每个表单,将不会有提示,但我的向导将无法使用 javascript(也许解决方案是覆盖默认表单行为以使其使用和不使用 javascript)