2012-05-11 64 views
13

我试图建立一个有多个阶段的webform。我正在将它从堆栈溢出/堆栈交换标记webform中构图出来。问题是,我不知道如何触发“下一阶段”行动。如何构建多阶段Web表单?

为了说明问题,如果想在Stack Overflow上标记一个问题,请单击flag,然后弹出提示您作出选择。如果您选择第二个选项(“它不属于此处,或者它是重复的”),表单会自动将您带到第二个屏幕。

第一屏:

page-one

一旦点击,就自动重定向到:

page-two

的问题是,我不知道潜在的触发是什么。点击该单选按钮如何将最终用户发送到下一个屏幕?

我试图检查源,但我有一种感觉,我只看到一半的画面:

page-source

HTML教程再多我发现有类似这样的任何做法的例子。我怀疑这是JavaScript,但我找不到可以触发这些操作的链接.js文件。

因此:点击后,webform如何自动重定向?作为后续工作,如果使用JavaScript,是否有我可以使用的仅HTML/CSS解决方法?

+0

就像我说的,我怀疑这是JavaScript黑魔法,在这种情况下:我需要更多的jQuery。我不知道。 – Aarthi

+2

您可以使用jquery或多个ajax模式弹出窗口,将autopostback添加到单选按钮,当选中或按钮时单击隐藏并显示适当的模式窗体。 –

+3

作为一名SE员工,你难道不会去源码并问程序员吗?或者他们是一个繁荣的人,一群丑陋的人? – j08691

回答

7

这可能有助于在比框架更低的层面上考虑这一点。有两种方法可以制作多阶段表格。

第一个(也是一般较老的)方法是将状态存储在服务器上。表单的每个阶段实际上都是一个单独的表单,客户端通过调查问卷的进度保存在服务器上(例如,作为会话数据的一部分)。如你猜测的那样,第二种方法(更现代的方法)是使用JavaScript。在这种情况下实际上只有很少的黑魔法,并且根本没有自动重定向。你所做的只是一个非常长的表单,根据用户的选择显示/隐藏一些元素(当然,你可以有多个<form>元素显示/隐藏)。

0

那么,我会使用某种jQuery向导插件,并将其适应我的需要。我最近做了它,并没有那么难。你应该尝试SmartWizard 3.0,它非常活跃,最后一个版本是在大约2个月前,编码人员很快回答了我的问题。

这就是:https://github.com/mstratman/jQuery-Smart-Wizard

可以触发向导前进到联的事件点击单选按钮的动作下一步。

祝你好运:)