使用Js获取和更改FCKeditor编辑器里的内容

之前在一个系统里使用了FCKeditor编辑器,由于项目需求需要在FCKeditor里添加一个自定义的按钮用于实现自己的需求

主要是在点击该按钮时删除或添加FCKeditor编辑器里的内容
其实是一个很简单的需求,本来以为在 FCKeditor可以很容易的实现
在Google上搜索自定义按钮,插件开发,经过近二个小时的摸索最终还是没有实现不知是我太笨还是自定义插件太难啦
无奈只能通过JS方式来处理
1.在页面中添加checkbox元素并绑定事件,选中该元素时将在 FCKeditor内容里添加" {#book#} "字符串(该字符串会在适当的时候被替换成其他内容),取消选中时则删除
<label><input type="checkbox" id="lineBook"   οnclick="chk_but();"/>添加/删除复选框</label> 

  

2.添加Js处理FCKeditor内容(添加或删除 " {#book#} "字符串 ), 'txtContent'为 FCKeditor的ID控控件ID
<script type = "text/javascript" >
//"添加/删除复选框"点击时如果按钮选中则添加"{#book#}"字符串到FCK内容里,反之删除字符串
//lineBook为FCK的ID号
function chk_but() {
	if (window.FCKeditorAPI !== undefined && FCKeditorAPI.GetInstance('txtContent') !== undefined) {
		if (document.getElementById('lineBook').checked) {
			FCKeditorAPI.GetInstance('txtContent').EditorDocument.body.innerHTML += "{#book#}";
		} else {
			FCKeditorAPI.GetInstance('txtContent').EditorDocument.body.innerHTML = FCKeditorAPI.GetInstance('txtContent').EditorDocument.body.innerHTML.replace("{#book#}", "");
		}
	}
} //end function chk_lineBook()
//内容里如果有{#book#}则选中"添加/删除复选框"
if (document.getElementById('txtContent').value.indexOf('{#book#}') >= 0 
	&& window.FCKeditorAPI !== undefined 
	&& FCKeditorAPI.GetInstance('txtContent') !== undefined) {
	document.getElementById('lineBook').checked = true;
} 
</script>

  

参考:
获取或更改内容值: http://bbs.csdn.net/topics/360086762
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值