通过JavaScript编辑标签文本值
问题描述:
我有一个简单的VB/ASP.NET窗体包含两个文本框,我试图应用一些验证到使用JavaScript的第一个文本框。这是我第一次尝试这个,并且遇到了一些麻烦。通过JavaScript编辑标签文本值
我在文本框旁边有一个标签,指出错误,此标签可见性属性设置为False。如果在用户失去焦点时文本框为空,我希望标签可见性变为真。
为此,我在文本框的标记中使用了onBlur选项。然后它调用JavaScript函数,并应将标签设置为可见,但不是。我已经通过使用警报来测试它是否正在进入该功能,并且可行。这个问题似乎试图改变标签的可见性属性。
这里是我的代码部分:
中的JavaScript:
function myRegEx(frm) {
if (boxUsername.value == "") {
invalidUser.visible = True;
return false;
}
}
形式:
<asp:TextBox onblur="return myRegEx(this)" id="boxUsername" runat="server" Width="200px"></asp:TextBox>
<asp:Label id="invalidUser" runat="server" visible="False" forecolor="Red" text="* Username must be alphanumeric with no special characters"></asp:Label>
任何帮助将是辉煌的。
答
您正在使用已弃用的仅限IE的功能,该功能可将ID元素转换为全局变量。
您应改为拨打document.getElemenntById
。
此外,您需要使用ASP.Net生成的客户端ID。
最后,要隐藏一个元素,您需要使用CSS; HTML没有visible
属性。
例如:
document.getElementById("<%=invalidUser.ClientID %>").style.display = "none";
但是,你应该使用ASP.Net内置的验证功能来代替。
答
为什么不使用ASP.NET的RequiredFieldValidator像这样:
<asp:TextBox onblur="return myRegEx(this)" id="boxUsername" runat="server" Width="200px"></asp:TextBox>
<asp:RequiredFieldValidator ControlToValidate="boxUsername" Display="Dynamic" ErrorMessage="Please enter a value" />
如果是过于简单化了,那么你可以使用的RegularExpressionValidator:
<asp:TextBox onblur="return myRegEx(this)" id="boxUsername" runat="server" Width="200px"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Please enter alpha numeric characters." ValidationExpression="[my reg ex]" ControlToValidate="boxUsername" Display="Dynamic" />
辉煌谢谢你肯。 – Ronnie 2010-03-22 01:07:30