验证器处于活动状态时,如何更改背景颜色 在Asp.net中,我想在验证器处于活动状态时将背景颜色更改为红色,以便在页面验证上进行回发
答案 0 :(得分:3)
function fnOnUpdateValidators()
{
if (typeof Page_Validators != 'undefined') {
for (var i = 0; i < Page_Validators.length; i++)
{
var val = Page_Validators[i];
var ctrl = document.getElementById(val.controltovalidate);
if (ctrl != null && ctrl.style != null)
{
if (!val.isvalid)
ctrl.style.background = '#FFAAAA';
else
ctrl.style.backgroundColor = '';
}
}
}
}
并以表格加载
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "val", "fnOnUpdateValidators();");
答案 1 :(得分:1)
很简单。
使用If Condition。
var val = Page_Validators;
var ctrl = document.getElementById(val.controltovalidate);
if (ctrl != null && ctrl.style != null)
{
if (!val.isvalid)
ctrl.style.backgroundcolor = '#dddddd';
else
ctrl.style.backgroundColor = '';
}
答案 2 :(得分:1)
我宁愿在验证器中添加/删除类名,而不是直接设置颜色。
$(document).ready(function () {
ValidatorUpdateIsValid = function () {
Page_IsValid = AllValidatorsValid(Page_Validators);
setValidatorStyles();
}
});
function setValidatorStyles() {
for (i = 0; i < Page_Validators.length; i++) {
var inputControl = document.getElementById(Page_Validators[i].controltovalidate);
if (null !== inputControl && !Page_Validators[i].isvalid) {
WebForm_AppendToClassName(inputControl, "invalidElement");
} else if (null !== inputControl) {
WebForm_RemoveClassName(inputControl, "invalidElement");
}
}
}