RequiredFieldValidator验证FCKeditor提交两次解决方法[摘自网络]

  当RequiredFieldValidatorEnableClientScript属性被设置成true时,FCKEditor不能很好的支持 RequiredFieldValidator,为了解除这个限制,你必须把这个属性设置成为false,如果你希望使用客户端验证,你必须使用 Custom Validator制作一个非空验证来替换RequiredFieldValidator,在其中使用FCKeditor JavaScript API即可。
  
详细解决方法:首先添加一段Javascript脚本来调用FCKEditor一些属性和方法,然后将RequiredFieldValidator验证 改为CustomValidator控件验证,设置ClientValidationFunction="js函数名",注意设置 ValidateEmptyText="True",否则不起作用!

<FCKeditorV2:FCKeditor ID="FCKeditor_guestContent" runat="server" ToolbarSet="Basic">

</FCKeditorV2:FCKeditor>

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="留言为空"

        ClientValidationFunction="FCKeditorValidate" ValidateEmptyText="true">

</asp:CustomValidator>

<script language="javascript" type="text/javascript">

       var oEditer;

       //函数名与ClientValidationFunction值对应

       function FCKeditorValidate(source, arguments)

       {

           var value = oEditer.GetXHTML(true);

           if(value=="")

           {

              arguments.IsValid = false;     

           }

           else 

           { 

              arguments.IsValid = true

           } 

      }

      function FCKeditor_OnComplete( editorInstance )

      { 

           oEditer = editorInstance;

      }

</script>


你可能感兴趣的:(fckeditor)