我们在kindeditor编辑器中写入文字,设置其字体、颜色,保存到数据库中。由于编辑器是覆盖在textarea文本框上的,好像无法直接用编辑器打开之前的文字遇到一定困难,所以只有在纯文本中查看文字。但是,显示时纯文本中会连带出现一些html元素,<html>....</html>,中间的内容基本是html代码表示这些文字的字体、颜色。
解决方案:
由于没法在textarea下取得HTML内容,于是我们结合DIV和异步编辑成功添加了编辑器,在对于取得编辑器HTML内容上面,我们是这样处理的:
KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据同步到原来的textarea,KE.sync函数会完成这个动作。
KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加KE.sync函数,所以用form方式提交数据,不需要手动执行KE.sync函数。
//取得HTML内容
html = KE.html('editor_id');
//同步数据后可以直接取得textarea的value
KE.sync('editor_id');
html = document.getElementById('editor_id').value;
html = $('#editor_id').val(); //jQuery
//设置HTML内容
KE.html('editor_id', 'HTML内容');
而后在源代码中做了改进,结合ajax与异步加载实现了再编辑功能
KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据同步到原来的textarea,KE.sync函数会完成这个动作。
KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加KE.sync函数,所以用form方式提交数据,不需要手动执行KE.sync函数。
//取得HTML内容
html = KE.html('editor_id');
//同步数据后可以直接取得textarea的value
KE.sync('editor_id');
html = document.getElementById('editor_id').value;
html = $('#editor_id').val(); //jQuery
//设置HTML内容
KE.html('editor_id', 'HTML内容');
而后在源代码中做了改进,结合ajax与异步加载实现了再编辑功能