【问题标题】:Editing a labels text value through JavaScript通过 JavaScript 编辑标签文本值
【发布时间】:2010-03-22 01:00:16
【问题描述】:

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

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

为此,我在文本框的标签中使用了 onBlur 选项。然后它调用 JavaScript 函数并且应该将标签设置为 Visible 但它没有。我已经测试过它是否通过使用警报来进入该功能并且有效。问题似乎是试图改变标签的可见性属性。

这是我的代码部分:

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>

任何帮助都会很棒。

【问题讨论】:

    标签: javascript asp.net vb.net forms


    【解决方案1】:

    这是另一个为您提供答案的 StackOverflow 问题:

    Change visibility of ASP.NET label with JavaScript

    【讨论】:

      【解决方案2】:

      我建议你使用 ASP.Net Validation 控件,特别是RequiredFieldValidator

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

      【讨论】:

        【解决方案3】:

        您正在使用已弃用的仅限 IE 的功能,该功能将具有 ID 的元素转换为全局变量。
        你应该打电话给document.getElemenntById

        另外,您需要使用 ASP.Net 生成的客户端 ID。

        最后,要隐藏一个元素,你需要使用 CSS; HTML 没有 visible 属性。

        例如:

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

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

        【讨论】:

          【解决方案4】:

          为什么不使用这样的 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" />
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-09
            • 1970-01-01
            • 2017-02-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多