最近项目需要用到页面编辑器,于是沿用以前项目的代码,使用fckeditor编辑器,具体整合方法见[原创]JQuery的FckEditor插件使用教程,按上述方法整合后的代码如下:
$(function(){
//初始化FCKEditor
$.fck.config = { path: ‘../../FCKeditor/’, width: 700, height: 300, toolbar: ‘Basic’ };
$(‘textarea#Meeting_Content’).fck();
});
但是编辑数据时编辑器显示不出值,分析原因可能是EasyUI的form组件加载数据是在编辑器初始化之后赋值给textarea导致编辑器显示不住编辑的值,因此需要在
EasyUI的form组件的onLoadSuccess事件中再将加载后的值赋给编辑器显示出来才行,于是加入了form的onLoadSuccess事件,代码如下:
$(function(){
//初始化FCKEditor
$.fck.config = { path: ‘../../FCKeditor/’, width: 700, height: 300, toolbar: ‘Basic’ };
$(‘textarea#Meeting_Content’).fck();
$(‘#editform’).form({
onLoadSuccess: function(data) {
$.fck.content(‘infoContent’, $(‘#infoContent’).val());
}
});
});
编辑显示值的问题解决了,但是在EasyUI的datagrid中显示编辑器保存的内容时,firefox下的行的高度变高了,开始以为是JQuery的fckEditor的插件的样式和EasyUI的样式有重名冲突,但是查看处理后的代码发现没冲突,于是发现是因为编辑器保存后的值都加入了p标签,导致行变高了,那就在datagrid之前用正则
表达式去除掉html标签,这样就ok了!