如果验证是否触发了必填字段,我已成功将控件的背面颜色变为红色。但是我不能让它在组中的控件上工作。
我在关闭身体标签
之前的每个页面都有这个jsfunction WebForm_OnSubmit() {
if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() ==false) {
for (var i in Page_Validators) {
try {
var control = document.getElementById(Page_Validators[i].controltovalidate);
if (!Page_Validators[i].isvalid) {
control.className = "ErrorControl";
} else {
control.className = "";
}
} catch (e) {
var r = 0;
}
}
return false;
}
return true;
}
以下用于错误样式的css类。
.ErrorControl
{
background-color: #FBE3E4;
border: solid 1px Red;
}
以下是验证组中控件的示例
<asp:RequiredFieldValidator runat="server" ID="vldTelephoneNumber" ControlToValidate="txtTelephoneNumber" ValidationGroup="ResellerGroup"></asp:RequiredFieldValidator>
对此有任何帮助将不胜感激
答案 0 :(得分:1)
这是我用来更改正在验证的元素的边框和背景颜色的javascript函数,或者在单击提交按钮时被视为无效的javascript函数。它只会将特定验证组的元素变为红色,而不是所有具有验证器的元素。
当验证成功并且焦点丢失时,它也会将颜色恢复正常。
<script type="text/javascript">
$(document).ready(function () {
if (typeof (Page_Validators) !== 'undefined') {
//check the elements at a regular interval to change the color back to normal
setInterval(function () { fieldValidators() }, 100);
}
});
function fieldValidators() {
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).addClass("ErrorControl");
} else if ($(ctrl).hasClass("ErrorControl")) {
$(ctrl).removeClass("ErrorControl");
}
}
}
}
}
</script>