还有一个子程序是更新整个页面的验证状态:
//更新整个页面的验证状态
function ValidatorUpdateIsValid()

{
Page_IsValid = AllValidatorsValid(Page_Validators);
}
//检查所有验证控件,一个未通过,就返回不通过
function AllValidatorsValid(validators)

{
if ((typeof(validators) != "undefined") && (validators != null))
{
var i;
for (i = 0; i < validators.length; i++)
{
if (!validators[i].isvalid)
return false;
}
}
return true;
}
这些子程序分析完成后,最后要回到我们的按钮点击事件来,通过以上代码走一着,Page_BlockSubmit被设置为true,即阻塞网页的提交。
这时,再去主网页看,提交的代码:onsubmit="javascript:return WebForm_OnSubmit();"
function WebForm_OnSubmit()

{
//有验证控件的情况下
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
function ValidatorOnSubmit()

{
if (Page_ValidationActive)
//有验证控件的情况下
return ValidatorCommonOnSubmit();
else
return true;
}
//返回页面阻塞提交的相反值,并把页面阻塞状态清空
function ValidatorCommonOnSubmit()

{
Page_InvalidControlToBeFocused = null;
var result = !Page_BlockSubmit;
if ((typeof(window.event) != "undefined") && (window.event != null))
window.event.returnValue = result;
Page_BlockSubmit = false;
return result;
}
最后结果是:当输入框不满足验证控件的要求时,验证控件显示出来,网页阻止提交。
151

被折叠的 条评论
为什么被折叠?



