有時在使用FCK的需要對它做非空的驗證以前一直是使用RequiredFieldValidator控件來完成的但是會有一個小小的bug在提交的時候第一次不能通過驗證需要提交兩次才能通過解決的辦法是禁用RequiredFieldValidator控件的客戶端腳本驗證功能只在服務器端驗證
<asp:RequiredFieldValidator ID=RequiredFieldValidator runat=server ControlToValidate=fck Display=Dynamic EnableClientScript=False ErrorMessage=還沒有填寫內容></asp:RequiredFieldValidator>
今天在查找資料的時候偶然間看到一個新的解決方法 利用FCK提供的方法使用CustomValidator控件就可以解決上述的bug在客戶端使用js做FCK的非空驗證
代碼
//Fck非空驗證
var oEditer;
function FckValidate(source arguments)
{
var value = oEditerGetXHTML(true);
if($trim(value) == )
{
argumentsIsValid = false;
}
else
{
argumentsIsValid = true;
}
}
function FCKeditor_OnComplete(editorInstance)
{
oEditer = editorInstance;
}
代碼
<asp:CustomValidator ID=CustomValidator runat=server Display=Dynamic ErrorMessage=沒有填寫 ClientValidationFunction=validTitle OnServerValidate=ValidFck ControlToValidate=fck></asp:CustomValidator>
From:http://tw.wingwit.com/Article/program/net/201311/12551.html