Un script pour limiter la taille d'un textarea

1 reply [Last post]
yoja_admin
User offline. Last seen 4 weeks 2 days ago. Offline
Joined: 10/22/2008

script pour limiter la taille d'un textarea

Ci dessous un petit script sans prétention pour limiter la saisie dans les textarea (pré-requis jQuery). A noter que le contrôle du nombre de caractères doit être également être mis en place côté serveur puisque le javascript s'exécute côté client et peut être désactivé par l'utilisateur.

Le code JavaScript

			
$("[class*='limited']").each(function(i){
	var c = $(this).attr("class");
	var from = c.indexOf("(");
	var to = c.indexOf(")");
	var limit = c.substring(from+1,to);
			 	
	$(this).keyup(function(){
		if(($(this).val().length)>=parseInt(limit)-1){
			 $(this).val($(this).val().substring(0,limit));
			 return false;
		}
	});
});

Le code HTML

<textarea class="limited(10)"></textarea>
yoja_admin
User offline. Last seen 4 weeks 2 days ago. Offline
Joined: 10/22/2008
amélioration du script pour

amélioration du script pour limiter la saisie dans un textarea

ci dessous le script "limiter la taille d'un textarea" amélioré pour prendre en compte le copier/coller via le menu contextuel (clic droit) :
$(function(){

  //Taille limitée
  $("[class*='limited']").each(function(i){
    var c = $(this).attr("class");
    var from = c.indexOf("(");
    var to = c.indexOf(")");
    var limit = parseInt(c.substring(from+1,to));

    $(this).bind("keyup keydown change",function(e){
      if (this.value.length > limit) {
      this.value = this.value.substring(0, limit);
      }
    });
  });

});