一、富文本内容交互
1、编辑器内容初始化(即往编辑器中设置富文本)
场景一:写新文章,编辑器中预置提示、问候等内容。
在editor_config.js文件中找到initialContent参数,设置其值为需要的提示或者问候语即可,如initialContent:’欢迎使用UEditor!’。
场景二:编辑旧文章,从数据库中取出富文本放置到编辑器中。
显然,编辑文章时需要从后台数据库中取出大段富文本,如果仍然采用场景一中的方式去设置初始值的话,必然会带来诸如引号匹配被截断等问题,因此需要采用另外一种方式去设置,如下代码所示:
1
2
3
|
<script type=
"text/plain"
id=
"editor"
>
//从数据库中取出文章内容打印到此处
</script>
|
此处采用了script标签作为编辑器容器对象,并设置了其类型是纯文本,从而在避免了标签内部JS代码执行的同时解决了部分同学在使用传统的textarea标签作为容器所带来的一次额外转码问题。
2、提交编辑器内容至后端
场景一:在编辑器所在的Form中存在提交按钮,提交动作由点击此按钮完成。
该场景适用于最普通的场合,没有太大问题需要注意,仅三点说明:
1) 默认情况下提交到后台的表单名称是 “editorValue”,在editor_config.js中可以配置,参数名为textarea。
2) 可以在容器标签(即script标签)上设置name属性,以覆盖editor_config.js中的默认配置。实例代码如下,此处的myContent将成为新的提交表单名称:
1
2
3
4
5
|
<form action=
""
method=
"post"
>
<script type=
"text/plain"
id=
"editor"
name=
"myContent"
>
</script>
<input type=
"submit"
name=
"submit"
value=
"提交"
>
</form>
|
3)后端接收程序可以通过如下几种方式来获取编辑器中的富文本内容。
1
2
3
4
5
6
7
8
9
10
11
|
//PHP获取:
$_POST[
"myContent"
]
//JSP获取:
request.getParameter(
"myContent"
);
//ASP获取:
request(
"myContent"
);
//NET获取:
context.Request.Form[
"myContent"
];
|
场景二:编辑器所在的Form中不存在提交按钮,提交动作由外部事件触发。
该场景适用于站点前端交互较多的场合,需要注意的事项主要是在触发form提交动作之前执行编辑器内容同步操作。一般的代码模式如下所示:
1
2
3
4
5
|