内容未经编辑时从 Summernote 表单获取正确的 HTML引导4

问题描述 投票:0回答:2

我正在使用此代码在我的页面上显示 Summernote 编辑器

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bootstrap4</title>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote-lite.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote-lite.js"></script>
.
.
.
<textarea id="summernote" name="summernote">@Model.InviteEmailBody</textarea>
                <script>
                    $('#summernote').summernote({
                        tabsize: 4,
                        height: 220
                    });
                    $('#summernote').on('summernote.blur', function () {
                        $('#summernote').html($('#summernote').summernote('code'));
                    });

                    $('#summernote').html(escape($('#summernote').summernote('code')));
                </script>

然后保存到数据库

string str = Request.Form["summernote"];
string htmlEncoded = WebUtility.HtmlEncode(str);
roleToUpdate.InviteEmailBody = htmlEncoded;

当我实际编辑内容时,一切都很好,但是当我不编辑内容时,我在 str 变量中得到的值有很多

%3Cdiv%3EHello%20

我不确定我实现 Summernote 的方式是否正确,或者我将如何解决这个问题..如果有人可以提供帮助,我将不胜感激

javascript asp.net asp.net-core summernote razor-pages
2个回答
2
投票

这些垃圾是由

产生的

$('#summernote').html(escape($('#summernote').summernote('code')));

如果您想清理您的

textarea
(或预置一些文本),您可以使用以下语法。第二个参数是您要设置的字符串值:

$('#summernote').summernote('code', '')
$('#summernote').html(escape($('#summernote').summernote('code', '<b>some</b>')));

0
投票
I have multiple summernote controls on single page so i used it as below:

For Get Value 
-----------------------------------------------------------------
let EngQuestion= $("#TxtRecord").summernote('code').trim();
let UrduQuestion= $("#TxtURecord").summernote('code').trim();
let SindiQuestion= $("#TxtSRecord").summernote('code').trim();

For Change:
-----------------------------------------------------------------
 $('#TxtRecord').summernote('code', '');
 $('#TxtRecord').html(escape($('#TxtRecord').summernote('code', "<p>test<p>")));

 $('#TxtURecord').summernote('code', '');
 $('#TxtURecord').html(escape($('#TxtURecord').summernote('code', "<p>abc</p>")));

 $('#TxtSRecord').summernote('code', '');
 $('#TxtSRecord').html(escape($('#TxtSRecord').summernote('code', "<p>xyz</p>")));
© www.soinside.com 2019 - 2024. All rights reserved.