Py学习  »  Jquery

如何在JQuery form builder中使用JSON呈现表单

karzan Nawzad • 3 年前 • 1228 次点击  

我有一个简单的web应用程序,我可以在其中创建表单并将其JSON保存在数据库中,然后获取相同的JSON并将其渲染回来,所有这些都是使用在线可用的Jquery FormBuilder构建的。现在,我正在努力使用渲染部分,因为它不显示任何内容,而且我对java脚本的知识非常有限,无法修复它。

以下是我到目前为止所做的

对于PHP方面,我可以获取Json模式并将其交给一个变量,我对其进行了测试,值就在那里,可以打印出来

$json=$row['survey_schema'];

对于java脚本部分

var container = $('#formrender');var options = {
container,
dataType:'json',
formData:'<?php $json ?>' }; container.formRender(options);

至于HTML

<div id="formrender"></div>

据我所知,脚本查找名为formrender的div,并根据我提供的JSON呈现表单。 但什么也没发生,只是一个空白屏幕

谢谢,很抱歉我的英语不好

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130740
 
1228 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Barno Chakraborty
Reply   •   1 楼
Barno Chakraborty    4 年前

这可以在jQuery Form builder文档中找到,我就是这样做的:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/highlight.min.js"></script>
<script src="https://formbuilder.online/assets/js/form-render.min.js"></script>
<script>
    jQuery($ => {
        const escapeEl = document.createElement("textarea");
        const code = document.getElementById("formrender");
        const formData = "";//Your JSON data goes here
        const addLineBreaks = html => html.replace(new RegExp("><", "g"), ">\n<");

        // Grab markup and escape it
        const $markup = $("<div/>");
        $markup.formRender({ formData });

        // set < code > innerText with escaped markup
        code.innerHTML = addLineBreaks($markup.formRender("html"));

        hljs.highlightBlock(code);
    });
</script>