JS获取FckEditor的值

function createEditor()
{        
        fck=new FCKeditor("fckeditor"); //实例一个编辑器
        fck.BasePath="./fckeditor/"; //指定路径
        fck.Height="100%";  
        fck.Width="100%";
        $("textarea").html(fck.CreateHtml());
}
//获取编辑器中HTML内容
function getEditorHTMLContents(EditorName) {
    var oEditor = FCKeditorAPI.GetInstance(EditorName);
    return(oEditor.GetXHTML(true));
}

// 获取编辑器中文字内容
function getEditorTextContents(EditorName) {
    var oEditor = FCKeditorAPI.GetInstance(EditorName);
    return(oEditor.EditorDocument.body.innerText);
}

// 设置编辑器中内容
function SetEditorContents(EditorName, ContentStr) {
    var oEditor = FCKeditorAPI.GetInstance(EditorName) ;
    oEditor.SetHTML(ContentStr) ;
}

 

 

 

 

 

 

 

 

 

 

 

 

 

--------------------------------------------------------------------------

 

 

在JS里取值方法如下:

JavaScript代码
var checkContent =FCKeditorAPI.GetInstance("content").GetXHTML();  

另外还要让编辑器获得焦点:

JavaScript代码
var oEditor = FCKeditorAPI.GetInstance('content');   
oEditor.Focus();  

注意这里的Focus()是大写。

------------------------------------------------------------------
在JS里取值方法如下:var checkContent =FCKeditorAPI.GetInstance("content").GetXHTML();

长度验证:FCKeditorAPI.GetInstance("content").GetXHTML().length;
另外还要让编辑器获得焦点:var oEditor = FCKeditorAPI.GetInstance('content');oEditor.Focus();

FCK 编辑器加载后,将会注册一个全局的 FCKeditorAPI 对象. FCKeditorAPI 对象在页面加载期间是无效的,直到页面加载完成.如果需要交互式地知道 FCK 编辑器已经加载完成,可使用"FCKeditor_OnComplete"函数.

<script type="text/javascript">

function FCKeditor_OnComplete(editorInstance) {

    FCKeditorAPI.GetInstance('FCKeditor1').Commands.GetCommand('FitWindow').Execute();

}

</script>

在当前页获得FCK 编辑器实例: var oEditor = FCKeditorAPI.GetInstance('InstanceName');

从 FCK 编辑器的弹出窗口中获得FCK 编辑器实例: var oEditor = window.parent.InnerDialogLoaded().FCK;

从框架页面的子框架中获得其它子框架的FCK 编辑器实例: var oEditor = window.FrameName.FCKeditorAPI.GetInstance('InstanceName');

从页面弹出窗口中获得父窗口的FCK 编辑器实例: var oEditor = opener.FCKeditorAPI.GetInstance('InstanceName');

获得FCK 编辑器的内容: oEditor.GetXHTML(formatted); // formatted 为:true|false,表示是否按HTML格式取出也可用: oEditor.GetXHTML();

设置FCK 编辑器的内容: oEditor.SetHTML("content", false); // 第二个参数为:true|false,是否以所见即所得方式设置其内容.此方法常用于"设置初始值"或"表单重置"操作.

插入内容到FCK 编辑器: oEditor.InsertHtml("html"); // "html"为HTML文本

检查FCK 编辑器内容是否发生变化: oEditor.IsDirty();

在 FCK 编辑器之外调用FCK 编辑器工具条命令, 命令列表如下:

DocProps, Templates, Link, Unlink, Anchor, BulletedList, NumberedList, About, Find, Replace, Image, Flash, SpecialChar, Smiley, Table, TableProp, TableCellProp, UniversalKey, Style, FontName, FontSize, FontFormat, Source, Preview, Save, NewPage, PageBreak, TextColor, BGColor, PasteText, PasteWord, TableInsertRow, TableDeleteRows, TableInsertColumn, TableDeleteColumns, TableInsertCell, TableDeleteCells, TableMergeCells, TableSplitCell, TableDelete, Form, Checkbox, Radio, TextField, Textarea, HiddenField, Button, Select, ImageButton, SpellCheck, FitWindow, Undo, Redo


------------------------------------------------------------------------------------------------

补充:

上面的验证fck内容是否为空是有问题的,fck默认就往里写了些内容,直接判断为空显然不行。

解决办法:

//取fck内容的长度
function GetMessageLength(str) {
    var oEditor = FCKeditorAPI.GetInstance(str) ;
    var oDOM = oEditor.EditorDocument ;
    var iLength ;
    if ( document.all )        // If Internet Explorer.
    {
        iLength = oDOM.body.innerText.length ;
    }
    else                    // If Firefox.
    {
        var r = oDOM.createRange() ;
        r.selectNodeContents( oDOM.body ) ;
        iLength = r.toString().length ;
    }
return iLength
}

   var oEditor = FCKeditorAPI.GetInstance(''InstanceName'');
   var checkContent = GetMessageLength('InstanceName');
   if(checkContent == '0') {
     alert('请输入消息内容');
     oEditor.Focus();   //取得焦点,注意是大写
     return false;
   }

//取fck内容
function GetMessageContent(str)
{
     var oEditor = FCKeditorAPI.GetInstance(str) ;
     return oEditor.GetXHTML();
}

 

原文地址:https://www.cnblogs.com/newsouls/p/FckEditor.html