一个注册页面(reg.aspx)有5个TextBox,5个label,TextBox用于输入用户名、密码等等,label用于检测TextBox有效性时显示的提示语句
检测有效性都是通过Ajax实现有一个重置的按钮,使用onclick="javascript:document.forms[0].reset();"可以把TextBox清空,但不能清空label的如果使用document.getElementById("<%=label.ClientID%>").innerHTML = " ";来实现清空,就要有多少个控件就要写几个语句,这显得很麻烦。如果使用一个循环函数,如何获取到范围呢?因为页面除了这几个label外还有页头页脚等其他地方好多的label。这是我想用来清空label值的思路,不知可行性如何?如果觉得可行,应该如何实现呢?谢谢!有其他更好的方法更好!

解决方案 »

  1.   

    var ids=["<%=label.ClientID%>","<%=labe2.ClientID%>","<%=labe3.ClientID%>"];
    for(var i=0;i<ids.length;i++){
    document.getElementById(ids[i]).innerHTML = " ";
    }
      

  2.   

    可以考虑使用jquery的筛选器 通过 class 来获取你锁需要的label
      

  3.   

    <head runat="server">
        <title>无标题页</title>
    <script src="jquery.js" type="text/javascript" language="javascript"></script>    
    <script language=javascript>
    $(document).ready(function(){
      $("#Button1").click(function(){  
         $(".clr").html("");
      });
    });</script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" CssClass="clr" runat="server" Text="Labaaaaaaaaaaaaaaaael"></asp:Label>
            <br />
            <asp:Label ID="Label2" CssClass="clr" runat="server" Text="Labaaaaaaaaael"></asp:Label>
            
        </div>
            <input id="Button1" type="button" value="清空Label" />
        </form>
    </body>
    </html>测试通过。
      

  4.   

    <script>alert("sdsa")</script>