我已经看到有关此主题的其他问题,这里有SO以及其他网站,但我找不到解决方案。我使用TinyMCE允许用户输入格式化文本。有一个Save按钮,它使用JQuery进行Ajax调用,并将textarea内容上传到服务器,然后将其作为html存储在数据库中。
稍后,当用户返回页面时,我想显示他们之前输入的格式化文本。因此,当页面加载时,html存储在DataTable的隐藏列中。页面加载时TinyMCE textarea不存在,当用户单击按钮时,它使用JQuery动态构造。 JQuery脚本将隐藏表格单元格中的html复制到textarea中,我再次使用JQuery插件调用TinyMCE将textarea转换为TinyMCE编辑器。
问题是TinyMCE编辑器显示保存的html,包括html标签。例如:
<p>Saved text</p>
我不希望它显示html标签,我希望它相应地格式化文本。我该如何解决?任何和所有的帮助表示赞赏。
我的javascript代码的缩写版本:
$('img').live('click', function() {
// Copy the html into the textarea.
$(this).closest('tr').next().find('textarea').val(gData[id].comments);
// Convert the textarea into an editor.
$(this).closest('tr').next().find('textarea').tinymce({
// Location of TinyMCE script
script_url : 'js/tiny_mce/tiny_mce.js',
theme : "simple"
});
}
答案 0 :(得分:1)
解决方案非常简单。您所要做的就是解码客户端的文本。
在Ruby on Rails中
<%= raw '<p>Some Text<p>' %>
输出为“Some Text”。删除了html标记。