【问题标题】:CFWheels - Multi-step form?CFWheels - 多步骤形式?
【发布时间】:2012-08-27 21:53:45
【问题描述】:

我想知道如何在 CFWheels 中设置多步骤表单。

很明显,我需要将表单数据存储在会话等中,但我想从轮子的角度了解以“轮子方式”执行此操作的最佳方法。

我的控制器中是否只有一个操作可以处理此问题?还是最好将表单的每个部分分成单独的操作?

非常感谢您就此提供建议和可能的代码示例。

谢谢, 迈克尔

【问题讨论】:

  • 您基本上是在要求讨论,这不适合 SO 的格式。试试cfwheels mailing list
  • 我听到了——但事实上我也希望讨论代码。我将很快用代码更新这个问题,我发现这比谷歌组更好。
  • 拥有代码不会自动使其适合SO's Q&A format。具体可回答的问题 = 好。含糊的“帮我做一个多步骤的表格”=不好。通过在 cfWheels 邮件列表中提问,您确实会得到更好的回复。

标签: coldfusion railo cfwheels


【解决方案1】:

我过去的做法是使用 Ajax 调用和 jquery modal。

虽然 jquery modal 并不重要,但我只是喜欢美学。一个简单的 div 替换也可以。

如果您不能确定用户可以使用 AJAX,那么它对您不起作用,但您可以使用弹出窗口。

对多步骤表单使用 Ajax 调用的优点是您可以将表单内容从一个步骤调整到另一个步骤。另一个优点是您不必将用户数据存储在缓存或会话中。因为每次发送表单时,都可以使用 POST 或 GET。

为此,最快的设置方法是使用名为 RemoteFormHelpers 的插件。那么表单的每一步都将是一个不同的控制器(或同一个控制器,根据传递的数据使用 switch 语句)

我认为这是一种非常通用的方法,但你不能使用文件上传的形式来做,这并不容易,因为 ajax 不会让你在没有严重痛苦的情况下做到这一点。

【讨论】:

  • 我曾考虑过以 AJAX 方式进行操作,但我需要在执行过程中对某些字段进行数据库检查 - 所以这可能会很棘手。例如,最多可能有 3 个步骤,但如果在数据库查找的第一步中提供的内容无法验证,那么我需要重定向用户并且不会采取更多步骤。我认为我的案例非常独特,因此很难在 CFWheels 中使用它。
  • 在我看来,ajax 将是最佳选择,尤其是当您需要对照数据库检查信息时。使用 ajax 调用,您可以在每次提交时运行控制器并轻松进行检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多