我在.net 的网页中一个textbox里输入文字,然后在下边的一个lable 显示我已经输入的字数的多少,比如说:我已经输入了5个字,就显示5,在输入一个就显示6,这样,然后到输入100个字的时候就不让输入了,这个用用js 怎么实现呀??在textbox的什么事件里写这个js??请高手帮忙!!

解决方案 »

  1.   

    不知道.net的那个和html的input type="text"是不是一回事。如果是text框
    可以加一个maxlength属性 maxlength=100
    onpropertychange="fx(this,100,'labelid')"
    function fx(o,maxNum,labelid){
       var t = document.getElementById(labelid);
       if(o.value.length<=maxNum){
          t.innerText = o.value.length;
       }
    }
      

  2.   

    <html>
    <head>
    <script>
      function aa()
      {
        var textArea = document.getElementById("text");
        var textValue = textArea.value;
        var number = textValue.length;
        var lab = document.getElementById("num");
        lab.innerHTML = number;
        if(number >= 100)
        {
          textArea.disabled = true;
          return;
        }
      }
    </script>
    </head>
    <body>
      <textarea id="text" rows="5" cols="30" onkeyup="aa()"></textarea>
      <label id="num"></label>
    </body>
    </html>
      

  3.   


    <script>
    function counter(elem) {
      var span = document.getElementById("input_counter");
      if (elem.value.length >= 100) elem.value = elem.value.substring(0, 99);
      if(span) span.innerHTML = elem.value.length + 1;
    }
    </script><textarea id="test_input" onkeypress="counter(this);"></textarea>
    <span id="input_counter">0</span>
      

  4.   

    我在2楼的代码有些缺陷,这里稍作改正
    <html>
    <head>
    <script>
      function aa()
      {
        var textArea = document.getElementById("text");
        var textValue = textArea.value;
        var number = textValue.length;
        var lab = document.getElementById("num");
        lab.innerHTML = number;
        if(number >= 10)
        {
          textArea.value = textValue.substring(0,9);
          textArea.disabled = true;
          lab.innerHTML = 10;
          return;
        }
      }
    </script>
    </head>
    <body>
      <textarea id="text" rows="5" cols="30" onkeyup="aa()"></textarea>
      <label id="num"></label>
    </body>
    </html>
      

  5.   

    根据1楼而作<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD><BODY>
    <input type="text" name="t1" onpropertychange="test(this)"  maxlength=10 style="width:200">
    <label id="t2"></label>
    </BODY>
    </HTML>
    <script>
    function test(obj){
    document.getElementById("t2").innerHTML = obj.value.length;
    }
    </script>
      

  6.   

    我自己写了一个,能读出文本框的字数来 ,可就是找lable 控件的时候找不到,所以也就没办法把字数给lable 了代码是这样的
     function textchange()
        {    var lg=document.getElementById ("tbcontent");
        var len=lg.value.length;
        var lb=document.getElementById ("lb");
        lb.value=len;
        }<asp:TextBox ID="tbcontent" runat="server" Height="136px" TextMode="MultiLine" Width="440px"  OnKeydown ="textchange()"></asp:TextBox><span
                            style="color: #ff0066"> 
                            <asp:Label ID="lb" runat="server">123</asp:Label>
      

  7.   

    keydown和change的时候都应该执行下,不然粘贴的没效。