当关联的文本框未通过验证时,我想更改标签的颜色。我当前的代码没有得到任何结果:
<asp:Label ID="lblFirstName" runat="server" Text="Your First Name*:"></asp:Label>
<br />
<asp:CustomValidator
ID="customValFirstName"
runat="server"
Text=""
ControlToValidate="txtFirstName"
ClientValidationFunction="validateFirstName"
Display="Dynamic"></asp:CustomValidator>
<asp:TextBox ID="txtFirstName" runat="server" CssClass="textbox" MaxLength="50"></asp:TextBox>
Javascript:
function validateFirstName(sender, args) {
var firstName = document.getElementById('<%=txtFirstName.ClientID %>');
var firstNameLbl = document.getElementById('<%=lblFirstName.ClientID %>');
if (firstName !== "") {
args.IsValid = true;
}
else {
args.IsValid = false;
firstNameLbl.style.color = '#FF0000';
}
};
任何可以阐明我做错的事情的信息将不胜感激。
最佳答案
您需要比较文本框的值。
将 if (firstName !== "")
更改为 if (firstName.value !== "")
还要向自定义验证器标记添加一个属性:ValidateEmptyText="true"
否则根本不会验证空文本
关于javascript - 如果数据未经过验证,则使用自定义验证器更改标签颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814844/