工作小结(十四)-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;
}