在提交表单之前更改控件背景颜色,但如何在验证通过时重置颜色
Changing control background color in but how to reset color when validation passses before submitting the form
我使用以下代码更改页面上所有无效控件的背景颜色。但是,当背景颜色更改并且用户为字段输入正确的值时,我希望在提交页面之前将背景重置为现在有效的字段的原始颜色?我对所有控件使用 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();"/>
我假设你发布的 JavaScript 不起作用? 您是否尝试过将"this"传递到changeColor()中?
例如,OnClientClick="javascript:return changeColor(this);"
这样,您应该有一个对控件的引用,然后您应该能够操作其CSS属性。 我目前没有时间模拟这个问题,但这是我从头顶上想到的。
相关文章:
- Javascript if语句问题,以及如何在jquery中验证颜色
- Javascript验证不会覆盖原始的css表单颜色
- 如何使用验证器立即更改表单背景颜色
- 在提交表单之前更改控件背景颜色,但如何在验证通过时重置颜色
- 通过表单验证更改 DIV 边框颜色
- 文本框验证和颜色更改
- 更改电子邮件的文本字段边框颜色和验证@
- 在Javascript Regex中,如何验证字符串是否为有效的十六进制颜色
- jQuery表单验证颜色更改
- 更改文本区域验证的边框颜色
- RGB颜色验证器的Javascript正则表达式
- Javascript输入类型=“;颜色“;表单验证
- 如何改变一个jQuery验证弹出窗口的颜色
- 表单验证,缺少字段背景颜色
- Javascript检查验证和更改文本框颜色
- Jquery验证插件更改消息颜色
- Bootstrap表单验证-颜色不会改变
- 根据元素的颜色来验证表单是一个好习惯吗?
- 验证-更改无效元素的父元素的背景颜色
- JQuery验证器-更改响应颜色