Here is Jquery to enforce maxlength for textarea when you add the attribute "maxlength". Maxlength is not supported with IE. How do I adjust my code to handle multiple textarea(s) on the page? Currently
if I add text to any textarea, they all countdown with the same value.
Jquery:
$(document).ready( function () {
maxLength = $("textarea").attr("maxlength");
$("textarea").after("<div><span id='remainingLengthTempId'>"
+ maxLength + "</span> remaining</div>");
$("textarea").bind("keyup change", function(){checkMaxLength(this.id, maxLength); } )
});
function checkMaxLength(textareaID, maxLength){
currentLengthInTextarea = $("#"+textareaID).val().length;
$(remainingLengthTempId).text(parseInt(maxLength) - parseInt(currentLengthInTextarea));
if (currentLengthInTextarea > (maxLength)) {
// Trim the field current length over the maxlength.
$("textarea").val($("textarea").val().slice(0, maxLength));
$(remainingLengthTempId).text(0);
}
}
Html:
Skills:
<textarea id="1" maxlength="200" rows="10" cols="60" ></textarea>
Postions:
<textarea id="2" maxlength="200" rows="10" cols="60" ></textarea>
Comments
<textarea id="3" maxlength="100" rows="10" cols="60" ></textarea>
This is the best solution!
Put this into your script tag in HTML code
$("textarea[maxlength]").on("propertychange input", function() {
if (this.value.length > this.maxlength) {
this.value = this.value.substring(0, this.maxlength);
}
});
and now use <textarea maxlength="{your limit}"></textarea>
for {your limit}
chars limit.
The solution is here:
http://web.enavu.com/daily-tip/maxlength-for-textarea-with-jquery/
$(document).ready(function() {
$('textarea[maxlength]').keyup(function(){
//get the limit from maxlength attribute
var limit = parseInt($(this).attr('maxlength'));
//get the current text inside the textarea
var text = $(this).val();
//count the number of characters in the text
var chars = text.length;
//check if there are more characters then allowed
if(chars > limit){
//and if there are use substr to get the text before the limit
var new_text = text.substr(0, limit);
//and change the current text with the new text
$(this).val(new_text);
}
});
});
Cant you use this :
class="validate[required,maxSize[50]] "
This solution is working as native HTML text-area , MAX-Length property
Var MaxLength=100;
$('#Selector').keydown(function (e) {
var text = $(this).val();
var chars = text.length;
if (chars > MaxLength) {
if (e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) {
return true;
}
return false;
}
return true;
});
Don't set the Maxlength property in the server side control (asp:TextBox) as server won't convert maxLength property to HTML markup when returning to your browser.