我正在使用以下代码更改页面上所有无效控件的背景颜色。但是,当背景颜色发生变化并且用户输入了正确的字段值时,我希望在提交页面之前将背景重置为现在有效字段的原始颜色?我对所有控件都使用了RequiredFieldValidators,并且所有控件都具有相同的验证组(1 个控件除外,它同时具有RequiredFieldValidator 和RegularExpressionValidator。谢谢!
function changeColor()
{
Page_ClientValidate();
var i;
var ctrl;
var prevColor;
for (i = 0; i < Page_Validators.length; i++) {
ctrl = document.getElementById(Page_Validators[i].controltovalidate);
prevColor = document.getElementById(Page_Validators[i].controltovalidate).style.backgroundColor;
if (!Page_Validators[i].isvalid)
ctrl.style.backgroundColor = '#FFAAAA';
else
ctrl.style.backgroundColor = prevColor;
}
}
以下是上述 javascript 的调用方式:
<asp:ImageButton AlternateText="Press btn"
ID="SaveButton"
runat="server"
ImageUrl="~/css/btnSave.png"
OnClick="btpress_Click"
OnClientClick="javascript:return changeColor();"/>