最近准备在自己的一个项目中使用开源的web编辑器TinyMce,遇到了程序获取设置TineMce编辑器内容的问题。用google搜索到了一些眉目,先总结如下。
1.先讲怎么设置TinyMce编辑器的内容
(1)如果在初始化编辑器之前,已经给编辑器所处的控件设置了内容,那么TinyMce在初始化的时候,会自动获取控件的内容。
(2)在客户端可以用下面的函数来随时获取内容:
<script language="javascript" type="text/javascript">
<!--
//功能:获取TinyMce编辑器的内容
//参数:editorId——编辑器的id
//返回:内容字符串;如果失败,返回空字符串
function GetTinyMceContent(editorId)
...{
return tinyMCE.getInstanceById(editorId).getBody().innerHTML;
}
//功能:设置TinyMce编辑器的内容
//参数:editorId——编辑器的id
// content——内容
//返回:(无)
function SetTinyMceContent(editorId,content)
...{
tinyMCE.getInstanceById(editorId).getBody().innerHTML=content;
}
//-->
</script>
2.我们再来看看如何获取TinyMce编辑器的内容
(1)在页面提交(即执行Submit())之后,TinyMce会自动将内容写入到控件中。
(2)在客户端还可以用下面的函数来随时获取编辑器的内容
<script language="javascript" type="text/javascript">
<!--
//功能:获取TinyMce编辑器的内容
//参数:editorId——编辑器的id
//返回:内容字符串;如果失败,返回空字符串
function GetTinyMceContent(editorId)
...{
return tinyMCE.getInstanceById(editorId).getBody().innerHTML;
}
//-->
</script>
3.下面是一个完整的asp.net例子:
为了使用该示例,您必须下载有TinyMce,并放置在目录“tiny_mce”中。
<%@ Page Language="C#" CodeFile="TinyMceTest.aspx.cs" Inherits="TinyMceTest" validateRequest=false %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<!-- tinyMCE -->
<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
// Notice: The simple theme does not use all options some of them are limited to the advanced theme
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : "devkit,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
theme_advanced_buttons1_add_before : "save,newdocument,separator",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,separator,forecolor,backcolor",
theme_advanced_buttons2_add_before: "cut,copy,paste,pastetext,pasteword,separator,search,replace,separator",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_buttons3_add : "emotions,iespell,media,advhr,separator,print,separator,ltr,rtl,separator,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,|,code",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
content_css : "example_full.css",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
extended_valid_elements : "hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
external_link_list_url : "example_link_list.js",
external_image_list_url : "example_image_list.js",
flash_external_list_url : "example_flash_list.js",