Markup Page
<strong>Required Info:</strong>
<asp:Label ID="TotCharReqInfo" runat="server" ></asp:Label>
<strong>Body Length:</strong>
<span id="BodyLength">0
<strong>Total Length:</strong> <span id="TotLength">
<asp:Label ID="TotLengthLbl" runat="server" ></asp:Label>
<strong>Left:</strong> <span id="CharLeft">
<asp:Label ID="ChLeft" runat="server" ></asp:Label>
<asp:TextBox id="txtInputOnln" runat="server"
TextMode="MultiLine" Width="300px" Height="90px"
MaxLength="350" onKeyUp="Count(this,350)"
onChange="Count(this,350)"/>
Click to read more...
<script type="text/javascript">
var ChLeftVar = "<%=CharLeftInt %>";
var ChLeftOut
var ChLefVar2
function count(clientId) {
var txtInputOnln = document.getElementById(clientId);
var CharLeft = document.getElementById('CharLeft');
var BodyLength = document.getElementById('BodyLength');
var TotLength = document.getElementById('TotLength');
BodyLength.innerHTML = txtInputOnln.value.length;
ChLeftOut = 350 - ChLeftVar
ChLeftVar2 = (350 - ChLeftOut) + txtInputOnln.value.length;
TotLength.innerHTML = ChLeftVar2;
CharLeft.innerHTML = ChLeftOut - txtInputOnln.value.length;
}
//limit user input (350 this case)
function Count(text, long) {
var maxlength = new Number(ChLeftOut); // Change number to your max length.
if (text.value.length > maxlength) {
text.value = text.value.substring(0, maxlength);
// alert(" Only " + long + " chars");//
alert(" Only 350 characters ");
}
}
</script>
Code Behind
Protected CharLeftStr As String
Protected CharLeftInt As Integer
Dim count As Integer = 0
Dim ReqInfoTot As String = TxtBx1.Text + TxtBx2.Text + TxtBx3
For Each c As Char In ReqInfoTot
If Char.IsLetter(c) Or Char.IsNumber(c) Then
count += 1
End If
Next
TotCharReqInfo.Text = count.ToString() - 2
TotLengthLbl.Text = count.ToString() - 2
'(2) is number of "+" inside the ReqInfoTot string
txtInputOnln.Attributes("onkeydown") =
= String.Format("count('{0}')", txtInputOnln.ClientID)
ChLeft.Text = 350 - TotCharReqInfo.Text.ToString()
CharLeftStr = TotCharReqInfo.Text.ToString()
CharLeftInt = Convert.ToInt32(CharLeftStr)