• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 901
  • Last Modified:

Character Counter for Multiline Textbox

Does anyone know how to modify the javascript below in order for this character counter to work with a multiline textbox rather than a textarea?

This is the control I want to use:

***************
<asp:TextBox id="Description2" runat="server" Height="136px" Width="352px" TextMode="MultiLine"
                  MaxLength="255"></asp:TextBox>
***************

This is the script and html that is working:

***************

<script language="Javascript">

function taLimit() {
      var taObj=event.srcElement;
      if (taObj.value.length==taObj.maxLength*1) return false;
}

function taCount(visCnt) {
      var taObj=event.srcElement;
      if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);
      if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;
}
</script>

<form id="Form1" method="post" runat="server">
         <table>
      <tr>
            <td>
                            <font>Maximum Number of characters for this text box is 255.<br>
                                     <TEXTAREA runat="server" onkeypress="return taLimit()" onkeyup="return taCount                     (myCounter)"  name="Description" rows="7" wrap="physical" cols="40" maxLength="255"></TEXTAREA>
<br>
                        You have <B><SPAN id="myCounter">255</SPAN></B> characters remaining for your description...</font>
                     </td>
              </tr>
 </table>
</form>

***************
0
Gezna
Asked:
Gezna
1 Solution
 
David H.H.LeeCommented:
Gezna ,
For your information, the MaxLength property has no effect in a multi-line textbox. This property only work at SingleLine/Password Mode.
However, you can make this modification to adapt with your existing code :

code-behind
--------------------------
   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        Description2.Attributes.Add("onkeypress", "javascript:return taLimit2('" & Description2.MaxLength & "');")
        Description2.Attributes.Add("onkeyup", "javascript:return taCount2(myCounter,'" & Description2.MaxLength & "');")
    End Sub

javascript
-------------------------
function taLimit2(maxValue) {
     var taObj=event.srcElement;
     if (taObj.value.length==maxValue*1) return false;
}

function taCount2(visCnt,maxValue) {
     var taObj=event.srcElement;
     if (taObj.value.length>maxValue*1) taObj.value=taObj.value.substring(0,maxValue*1);
     if (visCnt) visCnt.innerText=maxValue-taObj.value.length;
}

or
You can check this link if you interest :
http://www.codeproject.com/aspnet/textlengthvalidator.asp

Regards
x_com
0
 
mmarinovCommented:
Hi,

just an addition, the multiline asp:textbox control is rendered as textarea in html

Regards,
B..M
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now