必选字段将验证组的控件转回红色

本文关键字:控件 红色 字段 验证 | 更新日期: 2023-09-27 18:05:58

我已经成功地将控件的背面颜色变为红色,如果验证,如果触发必填字段。然而,我不能让它在组控制工作。

我在每个页面的结束body标签前都有这个js

function 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>

任何帮助都将不胜感激

必选字段将验证组的控件转回红色

这是我用来在点击提交按钮时更改正在验证或被视为无效的元素的边框和背景颜色的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>