使用 Summer note 编辑存储在数据库中的 HTML + CSS

Posted

技术标签:

【中文标题】使用 Summer note 编辑存储在数据库中的 HTML + CSS【英文标题】:Using Summer note to edit HTML + CSS that's stored in Database 【发布时间】:2020-04-13 22:18:58 【问题描述】:

我正在使用summer note 访问我的SQL 数据库并检索一个名为page_details 的字段,该字段当前存储在summer note 中创建的页面的html 和css。

我能够完美地创建页面并将 html 和 css 上传到数据库中没有问题,但是当我在夏天尝试编辑它们时,请注意一些创建的页面你无法编辑,而有些页面可以编辑得很好。

那些你不能编辑的会抛出一个错误:Uncaught SyntaxError: missing ) after argument list Uncaught SyntaxError: Image with part of Source code causing error

完全正常打开的页面也以<h1>开头,有关于如何解决此错误的任何想法吗?

            $stmt = $DB_con->prepare('SELECT * FROM page WHERE page_id=:page_id');
            $page_id = $_GET['page_id'];
            $stmt->bindParam(':page_id',$page_id);
            $stmt->execute();
            if($stmt->rowCount() > 0)
            
             $row=$stmt->fetch(PDO::FETCH_ASSOC);
              extract($row);
            
            ?>
                    <form action="save_page.php?page_id=<?echo $row['page_id'];?> " autocomplete="off" method="post">
            <textarea id="summernote" name="summernote" ></textarea>
                                 <button class="btn btn-success btn-block" name="update_page" type="submit"><i class="fa fa-lock"></i> Update Page</button>
            </form>


<script type="text/javascript">

  $('#summernote').summernote('editor.pasteHTML', '<? echo $row['page_details'];?>');


    $(document).ready(function() 

        $('.summernote').summernote(
            height: 200
        );


        $('#submitBtn').click(function() 
            var summernoteContent = $('.summernote').summernote('code');
            $('#result').val(summernoteContent);
        );

    );


    </script>



This Fixed the syntax error: 
$('#summernote').summernote('editor.pasteHTML', `<? echo $row["page_details"];?>`);

【问题讨论】:

这是一个语法错误。双引号内有单引号或单引号内有双引号。 $('#summernote').summernote('editor.pasteHTML', "&lt;? echo $row['page_details'];?&gt;"); @random 没有修复我遇到的语法错误。 “未捕获的 SyntaxError:参数列表后缺少 )” 试试$('#summernote').summernote('editor.pasteHTML', '&lt;? echo $row[' + page_details + '];?&gt;'); 【参考方案1】:

如果page_details 是一个变量,您可以使用模板文字。

$('#summernote').summernote('editor.pasteHTML', `<? echo $row[$page_details];?>`);

【讨论】:

我能够修改您提供的代码,它现在可以工作了!谢谢!我从没想过使用模板文字! $('#summernote').summernote('editor.pasteHTML', `&lt;? echo $row["page_details"];?&gt;`);

以上是关于使用 Summer note 编辑存储在数据库中的 HTML + CSS的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在特定框架中显示 html 内容?

如何编辑保存在 CoreData 中的文本?

mysql notes

Notes11web中的k-v存储们,nginx反向代理与负载均衡

编辑存储在字节数组中的数据

如何编辑html页面中的段落并将其存储在mysql数据库中?