使用JQuery从JSON或XML提要生成HTML表单

时间:2012-10-16 00:20:49

标签: jquery xml json

我想使用Jquery创建基于XML或JSON数据的HTML表单,我还计划验证任何可能为空或不正确的表单字段。

我想知道是否有任何其他程序/功能可以动态生成这样的表单,并且是实现此目的的最佳方式。任何最适合工作示例的jquery小部件或库都会非常感激

还有什么最适合在这种情况下使用XML或JSON并解释原因?

由于

2 个答案:

答案 0 :(得分:15)

答案 1 :(得分:9)

为了给你另一个选择,我创建了一个库:

https://github.com/brutusin/json-forms

  

JSON Schema到HTML表单生成器,支持动态子表单(即时解析)。具有零依赖性的可扩展和可自定义的库。提供的Bootstrap附加组件



 var bf = brutusin["json-forms"].create({
  "$schema": "http://json-schema.org/draft-03/schema#",
  "type": "object",
  "properties": {
    "s1": {
      "type": "string",
      "title": "A string",
      "description": "A string input"
    },
    "num1": {
      "type": "integer",
      "title": "A number",
      "minimum": 1,
      "maximum": 10,
      "multipleOf": 3,
      "description": "An integer multiple of `3`, between `1` and `10` (inclusive)"
    },
    "array1": {
      "type": "array",
      "title": "An array values",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "title": "Value"
          }
        }
      }
    }
  }
});
var container = document.getElementById('container');
bf.render(container);

<link rel="stylesheet" href='https://cdn.jsdelivr.net/brutusin.json-forms/1.3.2/css/brutusin-json-forms.min.css'/>
<link rel="stylesheet" href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'/>
<script src="https://code.jquery.com/jquery-1.12.2.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/brutusin.json-forms/1.3.2/js/brutusin-json-forms.min.js"></script>
<script src="https://cdn.jsdelivr.net/brutusin.json-forms/1.3.2/js/brutusin-json-forms-bootstrap.min.js"></script>
<div id="container"></div>
<hr>
<button class="btn btn-primary" onclick="alert(JSON.stringify(bf.getData(), null, 4))">getData()</button>&nbsp;<button class="btn btn-primary" onclick="if (bf.validate()) {alert('Validation succeeded')}">validate()</button>
&#13;
&#13;
&#13;

http://brutusin.org/json-forms

的更多实时示例