11

我希望在我的网站上为“即时报价”类型的东西制作一个分步表格。我在 Photoshop 上制作了以下图像,我希望用户在表单的每一步输入信息并最终在第 3 步提交表单(进入下一步应该是无缝的,无需重新加载页面) .

在此处输入图像描述

有人可以给我一些一般性的指示,我应该如何去做?这是我使用backbone.js 的第一个项目,它确实有助于对处理这个特定小部件的最佳方法有一个高级概述。

谢谢

4

2 回答 2

14

我将其结构如下:

1. 实现数据采集模型

有一个单一的模型来收集各个阶段的数据。实现该模型的存储,并允许部分完成的数据。(您可能希望在每个阶段存储它,以便用户可以在以后返回)。

2. 实现通用的“多阶段”视图

这应该负责在顶部渲染选项卡/阶段,为向后/向前渲染导航元素,以及渲染子视图。

3.为每个阶段实现特定的子视图

这些应该对上述模型的位进行操作。

4.实现路由

您可能希望每个子视图使用不同的 URL 路由,或者您可能希望整个多阶段流程使用相同的 URL。无论哪种方式,路由器都需要创建外部多阶段视图和内部子视图(或视图),并将它们与适当的模型连接在一起。

5. 提示:利用 pub/sub

不要把你的观点紧紧地耦合在一起。使用某种形式的 pub/sub 来引发和监听自定义事件。(例如: http: //lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/

于 2012-07-19T08:27:45.460 回答
5

除了 stusmith,我只是做了一个主干 js 多步表单的例子。随意看看并复制它。

https://github.com/michaelkoper/backbone-multistep-form

于 2013-02-20T18:30:46.987 回答