基于 XML XSL HTML和JavaScript的通用web调查系统

分享于 

4分钟阅读

Web开发

  繁體 雙語

介绍

基于Web的调查通常用于收集来自各种用户的信息,并根据数据进行分析。 本文讨论了如何设计通用的调查应用程序。

关于本文

本文介绍了我们可以如何设计一个通用的调查系统,使用问题。收集信息和分析。 任何调查应用程序都具有以下功能:

  • 问一组问题
  • 动态分支
  • 收集答案
  • 数据分析

本文仅介绍如何从用户收集信息的前端部分。

设计

应用程序的设计是通用的,因此将来对分支 questions/answers/the 逻辑的更改非常容易。

  • 配置:XML用于配置
  • Display: XSL用于基于XSL呈现 HTML
  • 事件:JavaScript处理所有事件并提交调查数据

配置- XML

XML结构存储问题列表。问题之间的相关性。获取的答案类型以及要显示的控件类型。请参见 XML:

<?xmlversion="1.0"encoding="utf-8"?><survey><surveytypes><surveytype><surveyname> Demo Survey </surveyname><questions><questionqid="1"><qid>1</qid><questiondesc>Q1) Enter some free text</questiondesc><typeid>2</typeid></question> 
 <questionqid="2"parentquestion="3"valuecondition="Yes"><qid>2</qid><questiondesc>Q2) Select any of the choices</questiondesc><typeid>6</typeid><choices><choice>Choice1</choice><choice>Choice2</choice><choice>Choice3</choice></choices></question></surveytype></surveytypes></survey>

这里要注意的重要内容是:

  • 属性" parentquestion"设置依赖项
  • 属性" valuecondition"指定问题应该显示在什么条件下
  • 元素" typeid"指定控件的类型

支持的控件类型为

以下是获得答案所支持的不同类型的控件:

  • 数字打开的文本
  • 文本打开结束文本
  • 文本打开结束多行文字
  • 多项单选
  • 使用其他选项进行多项选择
  • 多重选择( 单个选择)

请参考XML以获取完整类型及其各自类型id的列表。

显示- XSL

XSL" generate-surveyform.xslt"读取XML问题,并根据类型ID创建控件。 它为每个问题创建一个 DIV 标记,这样它就可以通过隐藏每个问题的DIV 标记来处理动态分支。 它使用下面的XSL标记来创建控件:

<xsl:iftest="typeid = 2"><td> 
 <xsl:elementname="input"><xsl:attributename="type">textbox</xsl:attribute><xsl:attributename="name"><xsl:text>CONTROL</xsl:text><xsl:value-ofselect="$qidvar"/></xsl:attribute><xsl:attributename="value"></xsl:attribute></xsl:element></td></xsl:if>

事件- JavaScript

众所周知,JavaScript是互联网的核心,在没有JavaScript的情况下构建一个实时网页是非常困难的。 我使用JavaScript加载XML并获取所有的问题列表。 在不同的节点之间导航,识别要显示的问题,与控件事件交互,并将问题的所有答案都提交给这些问题。

结束语

对于这里应用程序,始终有改进的范围,因为它适用于任何其他应用程序。 希望这对需要构建通用的基于web的调查系统的人来说是有用的。


WEB  JAVA  Javascript  BASE  SYS  系统  
相关文章