Live Textarea Count Limit

Una texarea con limite di caratteri da poter inserire.

Pubblicato da ,
Ultima modifica

In questo articolo vi illustrerò come realizzare una textarea con limite max di caratteri e un contatore live dei caratteri inseriti, usando jquery.

Inseriamo innanzitutto la libreria jquery.

Il codice html della pagina è questo:

Codice HTML

 <div class="contenitore">
  <h3>Live Textarea Count Limit</h3>
  <h4>Il testo e' limitato a 180 caratteri</h4> <span class="contatore">0</span> caratteri
  <br>
  <textarea cols="45" rows="10"></textarea>
</div>

il questo esempio il limite massimo di caratteri da inserire nella textarea è 180, il tag span.contatore contiene il contatore live dei caratteri inseriti nella textarea.
A questo punto lo script da usare è il seguente:

Codice JavaScript

 $(document).ready(function() {
	var limitemax  = 180; /* limite max di caratteri del textarea*/
	var txt = $('textarea').val(); /*testo nella textarea */
	var lentxt = txt.length; /* lunghezza del testo nella textarea*/
	$('span.contatore').html(lentxt);
	/* function limited */
	function limited(obj, limite) {
		var $contatore = $('span.contatore');
		var testo = $(obj).val();
		var lunghezza = testo.length;
		if(lunghezza > limite) {
			$(obj).val(testo.substr(0, limite));
			$contatore.html(lunghezza - 1);
			alert('hai superato il limite 180 max di caratteri');
		} else {
			$contatore.html(lunghezza);
		};
	};
	/* the end function limited*/
	$('textarea').keyup(function() {
		limited($(this), limitemax);
	});
});

la funzione limited ha lo scopo di limitare appunto il numero di caratteri da inserire nel textarea, una volta definita questa funzione, la " fuction keyup " applica "function limited" all'oggetto textarea e al limite definito (limitemax) pari a 180.

 

Demo