星期六, 6月 12, 2010
[Asp.Net ] Javascript 觸發 .NET驗證控制項 的方法
剛好需要用到.Net驗證控制項來處理欄位驗證的問題,
但是又動態的再按鈕上加上一些js效果(如遮罩),
卻讓按鈕先postback到後端,才顯示.Net驗證控制項的效果,
所以需要使用js先來觸發.Net驗證控制項,
找到這位仁兄提供的解答
Reference:[ASP.NET] Javascript偵測.NET驗證控制項的方法
在Script中加入funcrion Page_ClientValidate_AllPass(名稱可換),
參數validationGroup是.NET驗證控制項對應的群組名稱 (string型態)
function Page_ClientValidate_AllPass(validationGroup) {
if (typeof(Page_Validators) == "undefined") { return true; }
var i;
for (i = 0; i < Page_Validators.length; i++)
{
var val = Page_Validators[i];
val.isvalid = true;
if ((typeof(val.enabled) == "undefined" || val.enabled != false) && IsValidationGroupMatch(val, validationGroup))
{
if (typeof(val.evaluationfunction) == "function")
{
val.isvalid = val.evaluationfunction(val);
}
}
}
ValidatorUpdateIsValid();
return Page_IsValid;
}
後台按鈕事件範例如下,表示通過「Save」的驗證控制項時,會觸發if的{...}事件
this.saveButton.Attributes["onclick"] += "if(Page_ClientValidate_AllPass('Save')) { ... }";
沒有留言:
張貼留言
留個話吧:)