动态表单构建器的{Javascript框架

时间:2015-07-29 09:46:29

标签: javascript jquery html html5 jquery-ui

我的组织正在开发一个基于Web的应用程序,用于科学组织的数字化。各个实验室的用户执行许多实验并将其输入表格。现在每个实验室都有不同的模板用于各种实验。例如:实验室A中生物实验的结果输入模板可能与实验室B不同。

模板将由标签和输入元素组成,如文本框,文本区域,组合,表格等。在这些中输入的值将存储在数据库中的相应字段中。此外,还需要与用于结果输入的模板相同的打印报告。这些模板不是预先决定的,可能会随着时间而改变。

为了克服这个问题并减少每次定制表单所需的时间,我们正在考虑开发一个基于交互式Web的表单构建器,该构建器可以由实验室管理员为每个实验室预定义,并由科学家用于输入。但是结果条目表单可能变得复杂,通常需要嵌套表,多列以及对某些元素(例如组合或默认值)的数据库绑定。

我已经研究了一些相同的JS框架,例如DojoToolKitJQueryUISproutCore等等。但由于我对JS框架没有太多经验,我想知道哪个它们对我的任务有好处,如果有任何现有的实用程序(最好是开源)用于此目的。

注意:我使用Struts作为我的Web应用程序,Postgres作为数据库。

1 个答案:

答案 0 :(得分:3)

我建议不要在javascript / GUI中设计他们用json设计的表单,这样你的用户就可以使用他们认为合适的任何工具设计表单,并使其统一呈现,例如:

"form" : {
  "title" : "some new form"
  "elements" : [
    {
      "type" : "text",
      "name" : "user_name",
      "id" : "user_name",
      "label" : "please enter your user name"  
    }
  ]
}

然后,您可以将相同的json传递到您的前端以呈现表单,然后传递给您的后端服务以处理表单发布/提交。

这种方法还意味着您可以更新/更改后端或前端堆栈,并且仍然能够以相同的方式处理json数据

(所以如果您决定使用dojo然后更改为jquery,则输入不需要更改)

你当然可以构建一个基于web的生成器gui来创建json数据,我建议jquery和jquery UI是最简单的方法。

您需要构建一个允许您添加/更新json输出的UI,例如添加文本输入的按钮,添加文本字段和名称的输入,这里是very simple basic demo。将一些文本输入到文本名称字段然后生成json,您将在控制台中看到json对象已更新

更新:如果您想要预先构建解决方案,那么您可以尝试:jquery form builder