Formio.js 从生成器方法中获取 JSON 文本

Formio.js get JSON text from builder method

我在 github 上阅读了有关 formio.js 的文档。但是我看不到如何在构建表单后获取 json 文本。

这是我的代码:

<div id='builder'></div>
<script type='text/javascript'>
    var builder = Formio.builder(document.getElementById('builder'), {}, {});

    builder.then(function(form){
        form.on("change", function(e){
             console.log("Something changed on the form builder");
        });
    });
</script>

现在我想将表单的 json 架构存储在数据库中。

试试这样的东西:

...
form.on("change", function(e){
    console.log("Something changed on the form builder");
    var jsonSchema = JSON.stringify(form.submission, null, 4);
    console.log(jsonSchema); // this is the json schema of form components
});
...

或者您可以尝试使用 builder.instance.schema,因为 ...

form.on("change", function(e){
    console.log("Something changed on the form builder");
    var jsonSchema = JSON.stringify(builder.instance.schema, null, 4);
    console.log(jsonSchema);
});
...

我知道这已经回答了,但对于那些仍想使用 Formio.builder 而不是 new Formio.FormBuilder 的人,您可以试试这个:

Formio.builder(document.getElementById('builder'), {}).then(function(form){
  form.on("change", function(e){
    console.log(form.schema);
  });
});