使用 Quill 富文本编辑器提交表单值不会转换为 HTML

Submit Form Value with Quill Rich Text Editor does not translate into HTML

我在我的网站表单之一中实现了 quill 编辑器,以将 html 值保存在我的数据库中。不幸的是,它保存了原始值——而不是 html 格式。它不会以某种方式将字符串转换为 HTML。知道如何解决这个问题吗?

我的期望:

        <p>Hello World!</p>
        <p>Some initial <strong>bold</strong> text</p>
        <p><br></p>

我得到的是:

{"ops":[{"insert":"Hello World!\nSome initial "},{"attributes":{"bold":true},"insert":"bold"},{"insert":" text\n\n"}]}

代码:

        <form id="new-notes-form" class="mt-3">
        <div class="form-group">
            <h5><?php echo trans('leave_comment'); ?></h5>
            
            
            <!-- START QUILL Rich Text Editor -->
                
                <!-- Include stylesheet -->
                <link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">


                <!-- Create the editor container -->
                <input name="comment" type="hidden">
                <div id="editor">
                  <p>Hello World!</p>
                  <p>Some initial <strong>bold</strong> text</p>
                  <p><br></p>
                </div>
                
                <!-- Include the Quill library -->
                <script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>

                <!-- Initialize Quill editor -->
                <script>
                    var quill = new Quill('#editor', {
                      modules: {
                        toolbar: [
                          ['bold', 'italic'],
                          ['link', 'blockquote', 'code-block', 'image'],
                          [{ list: 'ordered' }, { list: 'bullet' }]
                        ]
                      },
                      placeholder: 'Notiz hier eingeben...',
                      theme: 'snow'
                    });

                    var form = document.querySelector('#new-notes-form');
                    form.onsubmit = function() {
                      // Populate hidden form on submit
                      var comment = document.querySelector('input[name=comment]');
                     
                      comment.value = JSON.stringify(quill.getContents());
                      // DOES NOT WORK comment.value = JSON.stringify(quill.root.innerHTML);

                     
                      // console.log("Submitted", $(form).serialize(), $(form).serializeArray());
                      
                      // No back end to actually submit to!
                      // alert('Open the console to see the submit data!')
                      // return false;
                      
                    };
                </script>
                
            <!-- START QUILL Rich Text Editor -->
            
        </div>
        <div class="form-group">
            <button class="btn btn-primary" id="btn-comment" type="submit">
                <?php echo trans('save-note'); ?>
            </button>
        </div>
    </form>

您可以使用 quill.root.innerHTML 检索编辑器的 html 内容。

查看此箱了解更多信息https://jsbin.com/fipomudura/1/edit?html,console,output

如果对您有用,请采纳为答案,谢谢!