我希望在相关文本框未通过验证时更改标签的颜色。使用我当前的代码没有得到任何结果:
<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';
}
};
任何可以解决我做错的事情都会受到赞赏。
答案 0 :(得分:2)
您需要比较文本框的值。
将if (firstName !== "")
更改为if (firstName.value !== "")
还要为自定义验证程序标记添加一个属性:ValidateEmptyText="true"
否则将无法验证空文本