JS获取FckEditor的值 FCK

来源:互联网 发布:淘宝官网注册 编辑:程序博客网 时间:2024/05/17 21:51

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();
}


<script>

var oEditor = FCKeditorAPI.GetInstance("txt2");
            alert(oEditor.GetXHTML(true));

</script>


<div  style="margin-top: 10px;">
        <textarea cols="1" rows="1" id="txt2" name="txt2" style="width: 400px; height: 60px;"></textarea>
        
        <script type="text/javascript" language="javascript">
            var scpMgr = new CaptureManager();
            //www.ncmem.com/products/screencapture/demo/upload.aspx,如果不是这个域名。可能出现域名未授权现象,这样可以用外网IP代替上述域名来实现
            scpMgr.Config["PostUrl"] = "http://192.168.0.100/market/asp.net/upload.aspx"; 
            //scpMgr.Config["PostUrl"] = "http://www.ncmem.com/products/screencapture/demo/upload.aspx"; 

            var oFCKeditor = new FCKeditor('txt2');
            
            oFCKeditor.BasePath = "fckeditor/";
            oFCKeditor.ToolbarSet = 'Basic';
            oFCKeditor.Height = "200";
            
            oFCKeditor.ReplaceTextarea();

            function FCKeditor_OnComplete(editorInstance) {
                scpMgr.Init(editorInstance); //初始化
            }
    </script>

</div>

转载 http://ayue05.blog.163.com/blog/static/134134591201211354912618/

原创粉丝点击