工作小结(十四)-FCKeditor 通过JS设置值

FCKeditor确实挺好用,但却缺乏一个详细的开发文档,以致于开发中遇到的很多问题,都很难从官方找到解答,只好在 网上搜索或者自己看代码,今天刚好碰到需要通过JS来读取或设置FCKeditor里面的值,通过FreeTextBox提供的API(FTB_API[ClientID].GetHTML()和FTB_API[ClinetID].SetHTML())联想和上网以及看代码,终于找到解决的方法.

以下是取值的办法

FCKeditorAPI.GetInstance(ClientID).GetXHTML(true)

以下是设值的办法

FCKeditorAPI.GetInstance(ClientID).SetHTML("字符串")

所以想要在FCKeditor中利用JS插入一段字符串可以这样做:

FCKeditorAPI.GetInstance('FCKeditor1').SetHTML(FCKeditorAPI.GetInstance(''FCKeditor1'').GetXHTML(true) + "插入的字符串")

 例子:

<script language="javascript">
<!--
function checkForm(){

 var Content =FCKeditorAPI.GetInstance("content").GetXHTML();
     if(Content==null||Content=="")
     {
           alert('内容不能为空');
           return(false);
            form1.EditorDefault.focus();
     }
return true;
}
-->
</script>

 

下面举例判断Fck中输入的字符,并提示:

function checkDesc() {
     var oEditor = FCKeditorAPI.GetInstance("<%=ediDescription.ClientID%>");
     var strtext=delHtmlTag(oEditor.EditorDocument.body.innerHTML);
     if (strtext == null || strtext.length == 0) {
           alert("请输入系统介绍");
           return false;
      }
      else {
         if (strtext.length < 100) {
             alert("系统介绍字数必须大于等于100!你已输入字符数:" + strtext.length);
             return false;
         }
         else {
             return true;
         }
     }
}
function delHtmlTag(str)
{
        return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
}

 

另:

利用正则表达式去掉html代码
using System.Text.RegularExpressions;//需要引用

  // 利用正则表达式去掉"<"和">"之间的内容
  private string StripHT(string strHtml)
  {
   Regex regex=new Regex("<.+?>",RegexOptions.IgnoreCase);
   string strOutput=regex.Replace(strHtml,"");
   return strOutput;
  }

 

你可能感兴趣的:(fckeditor)