被编辑器的问题折磨了阵,现解决完成,放出代码。
A :添加新闻
- 头部引用,将下面代码中的baidu换成你的代码路径,我这边由于早期网页,用的GB2312编辑,所以多加了charset=”gbk”参数。
<script type=”text/javascript” charset=”gbk” src=”baidu/ueditor.config.js”></script>
<script type=”text/javascript” charset=”gbk” src=”baidu/ueditor.all.min.js”> </script>
<script type=”text/javascript” charset=”gbk” src=”baidu/lang/zh-cn/zh-cn.js”></script>
2. 多行文本框的位置替换
注意这里我在 FORM中添加了onSubmit=”changevalue();”
思路是点提交表单时,将百度编辑器中的值获取出来,传递给原来的textarea中的参数。
就是这句代码的作用:document.getElementById(“contents”).value=UE.getEditor(‘editor’).getContent()
调试中大家可以将textarea参数中的 style=”display:none;” 去掉,方便跟踪效果。
<form name=”form1″ id=”form1″ method=”post” action=”news.asp” onSubmit=”changevalue();”>
<script id=”editor” type=”text/plain” style=”width:552px;height:200px;”></script>
<textarea id=”contents” name=”contents” cols=”80″ rows=”8″ style=”display:none;”></textarea>
</textarea>
<script type=”text/javascript”>
function changevalue(){
document.getElementById(“contents”).value=UE.getEditor(‘editor’).getContent()
}
var ue = UE.getEditor(‘editor’);
</script>
B. 编辑新闻
编辑文章与添加文章不同之处就是要给百度编辑器赋值。
头部调用相同。
<script id=”editor” type=”text/plain” style=”width:552px;height:200px;”></script>
<textarea id=”contents” name=”contents” cols=”80″ rows=”8″ style=”display:none;”><%=rs(“content”)%></textarea>
</textarea>
<script type=”text/javascript”>
function changevalue(){
document.getElementById(“contents”).value=UE.getEditor(‘editor’).getContent()
}
var ue = UE.getEditor(‘editor’);
$(function(){
var contentinfo =$(‘#contents’).val();
ue.addListener(“ready”, function () {
ue.setContent(contentinfo);
});
});
</script>
C. 接收表单数据
我没有用百度编辑器的获取值的方法因为是JS或CSS与百度编辑器的代码有冲突,怎么也获得不了,所有就直接用个传递数据的方式来实现了。
这与平时写的代码没两样,无论ASP, PHP, JSP 都易实现,仍是象没有富文本编辑器前获取参数一样的方式。
附,百度编辑器网址:http://ueditor.baidu.com/website/download.html