Solved

Character Counter for Multiline Textbox

Posted on 2004-10-06
2
876 Views
Last Modified: 2013-12-03
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
Comment
Question by:Gezna
2 Comments
 
LVL 29

Accepted Solution

by:
David H.H.Lee earned 500 total points
ID: 12238493
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
 
LVL 28

Expert Comment

by:mmarinov
ID: 12238542
Hi,

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

Regards,
B..M
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Flash (http://en.wikipedia.org/wiki/Adobe_Flash) has evolved over the years to where it has become a masterful tool for displaying content screen.  It has excellent layout placement, UI precision as well as rendering capabilities. This, along with t…
The object model of .Net can be overwhelming at times – so overwhelming that quite trivial tasks often take hours of research. In this case, the task at hand was to populate the datagrid from SQL Server database in Visual Studio 2008 Windows applica…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now