代码之家  ›  专栏  ›  技术社区  ›  Ronnie

通过JavaScript编辑标签文本值

  •  0
  • Ronnie  · 技术社区  · 16 年前

    我在VB/ASP.NET中有一个包含两个文本框的简单表单,我正在尝试使用JavaScript对第一个文本框应用一些验证。这是我第一次尝试这一点,我有一些麻烦。

    我在文本框旁边有一个标签说明错误,此标签可见性属性设置为False。如果用户失去焦点时文本框为空,我希望标签的可见性变为真。

    为此,我在文本框的标记中使用了onBlur选项。然后,它调用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>
    

    4 回复  |  直到 14 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    下面是另一个有答案的问题:

    Change visibility of ASP.NET label with JavaScript

        2
  •  0
  •   Joel Coehoorn    16 年前

    RequiredFieldValidator

    这将为您处理标签,并确保客户端(javascript)和服务器端(vb)都进行了正确的验证。

        3
  •  0
  •   SLaks    16 年前

    您使用的是不推荐使用的IE-only特性,它将具有id的元素转换为全局变量。
    你应该打电话 document.getElemenntById 相反。

    visible

    例如:

    document.getElementById("<%=invalidUser.ClientID %>").style.display = "none";
    

    但是,您应该改用ASP.Net的内置验证功能。

        4
  •  0
  •   Thomas    16 年前

    <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" />
    

    <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" />
    
    推荐文章