程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net 控件驗證 FCKeditor

asp.net 控件驗證 FCKeditor

編輯:ASP.NET基礎
經過查找網上的資料,發現好像是它本身的一個問題,原文如下:

With ASP.Net, I need to submit twice when using the RequiredFieldValidator in a FCKeditor instance
FCKeditor will not work properly with the Required Field Validator when the "EnableClientScript" property of the validator is set to "true" (default). Due to a limitation in the default validation system, you must set it to "false".

If you want to do client side validation, you must use a Custom Validator instead and provide the appropriate validation function, using the FCKeditor JavaScript API.


譯文如下(翻譯的不好,大家能看懂就好):
問:為什麼在使用ASP.NET的RequiredFieldValidator時,我需要提交兩次
答:當RequiredFieldValidator的EnableClientScript屬性被設置成true時,FCKEditor不能很好的支持RequiredFieldValidator,為了解除這個限制,你必須把這個屬性設置成為false 如果你希望使用客戶端驗證,你必須使用Custom Validator制作一個非空驗證來替換RequiredFieldValidator,在其中使用FCKeditor JavaScript API即可。 

       看了這篇文章,我就去找FCKeditor JavaScript API的文檔,發現它為客戶端JavaScript的調用提供了一些屬性和方法,於是乎,就按上述的回答寫了一段JavaScript腳本來完成了驗證。

詳細解決方法:首先添加Javascript腳本:
復制代碼 代碼如下:
script language="javascript" type="text/javascript">
var oEditer;
function CustomValidate(source, arguments)
{
var value = oEditer.GetXHTML(true);
if(value=="")
{
arguments.IsValid = false;
}
else
{
arguments.IsValid = true;
}
}
function FCKeditor_OnComplete( editorInstance )
{
oEditer = editorInstance;
}
</script>

`然後添加CustomValidator,設置ClientValidationFunction="CustomValidate",注意千萬別忘了ValidateEmptyText="True",否則不起作用!

這樣,再試試,OK,一次就可以直接提交了,不會出現提交兩次的bug了
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved