javascript - 如何构建多阶段 Web 表单?

标签 javascript jquery html forms animation

我正在尝试构建一个具有多个阶段的网络表单。我正在从 Stack Overflow/Stack Exchange 标记网络表单中对其进行模式化。问题是,我不确定如何触发“下一阶段”操作。

举例来说,如果有人想在 Stack Overflow 上标记一个问题,您可以单击 flag,然后弹出窗口会提示您做出选择。如果您选择第二个选项(“它不属于这里,或者它是重复的”),表单会自动将您带到第二个屏幕。

第一屏:

page-one

点击后,它会自动重定向到:

page-two

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

我尝试查看源代码,但我感觉我只看到了一半的图片:

page-source

我发现没有多少 HTML 教程有与此类似的练习示例。我怀疑这是 JavaScript,但我找不到会触发这些操作的链接 .js 文件。

那么:网络表单如何在点击时自动重定向?作为后续行动,如果它使用的是 JavaScript,是否有我可以使用的纯 HTML/CSS 解决方法?

最佳答案

在比框架更低的层次上考虑这个问题可能会有所帮助。有两种方法可以制作多阶段表单。

第一种(通常也是较旧的)方法是将状态存储在服务器上。表单的每个阶段实际上是一个单独的表单,客户端通过调查问卷的进度保存在服务器上(例如,作为 session 数据的一部分)。

第二种方法(更现代的方法)是使用 JavaScript,正如您所怀疑的那样。在这种情况下实际上几乎没有黑魔法,根本没有点击自动重定向。您所要做的就是拥有一个非常长的表单,您可以在其中根据用户的选择显示/隐藏一些元素(当然,您可以显示/隐藏多个 <form> 元素)。

关于javascript - 如何构建多阶段 Web 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544677/

相关文章:

javascript - mdInkRipple 波纹整个 mdVirtualRepeat - Angular Material

jquery - 在移动设备上滚动页面时防止 touchstart

jQuery 动画背景位置,在 ie 中不起作用

javascript - 输入时提交的表单需要至少一个输入类型 = "text"元素

xml - 在网页中嵌入时,是否需要将 xml header 保留在 svg 文件中

javascript - 如何将html表格单列显示为多列?

frameworks - JavaScript Windows 框架

javascript - 为什么只适用于 JSfiddle?

javascript - jqgrid创建后如何应用列模板

javascript - html 标签条目的正则表达式