我正在使用名为 Summernote 的所见即所得 (wysiwyg),我将其值发送到服务器,并在服务器上使用 HTML Purifier 对其进行净化。之后我将其保存到数据库(mysql)。然后,我需要在所见即所得中显示纯化的 html,因此将其写为文本区域值(文本区域在 js 中与 Summernote 链接)。但它显示转义的 html 而不是格式化文本。编辑器工作正常,js控制台没有显示错误。
我用 Javascript 来初始化 Summernote
$('.summernote').summernote({
lang: 'cs-CZ',
height: 100,
airMode: true,
prettifyHtml: true
});
这是所见即所得的屏幕截图(在空气模式下,因此未显示工具),控制台检查其值。
所见即所得的拿铁模板:
<textarea name="{$key}" class="summernote form-control" >{$value->value|noescape}</textarea>
最新的 Summernote(截至本答案的 v0.7)已进行了更改,如果您习惯使用以前的版本(或阅读互联网上为以前版本编写的资源,其中大多数都是这样),则可能会导致问题。
你不应该使用textarea
不再用于夏日笔记了。它应该是一个div
。
但是您不能在表单帖子中提交 div,因为您需要使用hidden textarea
以其正确的形式 id/name 和 html 属性绑定到 Summernote 事件。init
and blur
.
这是一个例子:
服务器端
这是 ASP.NET Razor 语法,我相信你能弄清楚什么是什么
<textarea id="@Html.IdFor(p=>p.Content)" name="@Html.IdFor(p=>p.Content)" hidden class="someDummyClassName"></textarea>
<div class="form-control summernote">@Html.Raw(Model.Content)</div>
客户端
$(document).ready(function () {
$('.summernote').on('summernote.init', function () {
$('textarea.someDummyClassName').html($('.summernote').summernote("code"))
}).on("summernote.blur", function () {
$('textarea.someDummyClassName').html($('.summernote').summernote("code"))
}).summernote({
height: 280,
// YOUR OPTIONS GOES HERE
....
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)