asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

当Asp.Net验证控件遇到FCKeditor


发布日期:2021年09月17日
 
当Asp.Net验证控件遇到FCKeditor

使用RequiredFieldValidator控件验证FCKeditor是否填写内容的时候会遇到一个问题

填写了内容之后第一次提交还会提示没有填写内容这是由于FCKEditor的编辑框采用的是Iframe每次提交的时候首先要将Iframe的内容复制到文本框内再提交但是验证控件验证的是实际的文本框在没触发提交时这个内容文本框的内容实际上是空的

换上自定义验证控件CustomValidator

设置ClientValidationFunction=checkFckeditorContent;

利用FCKeditor提供的Javascript API可以解决这个问题

JavaScript_API#Events>_x/Developers_Guide/JavaScript_API#Events

在页面上加入以下脚本

<script type=text/javascript>

//<![CDATA[

var fckeditorContentLength = ;

function checkFckeditorContent(source arguments)

{

argumentsIsValid = (fckeditorContentLength > );

}

function FCKeditor_OnComplete(editorInstance)

{

editorInstanceEventsAttachEvent(OnBlur FCKeditor_OnBlur); //附加失去焦点的事件

}

function FCKeditor_OnBlur(editorInstance)

{

fckeditorContentLength = editorInstanceGetXHTML(true)length;

//在FCKeditor失去焦点时如果内容不为空则隐藏验证提示

if(fckeditorContentLength > ){

documentgetElementById(<%= this自定义验证控件ClientID %>)styledisplay = none;

}

}

//]]>

</script>

问题到此就解决了

               

上一篇:利用ASP.NET动态生成HTML页面

下一篇:asp.net跳转页面的三种方法比较