Comme vous l'avez remarqué, le textarea souffre d'une lacune. Nativement, impossible de limité le nombre de caractère a saisir.
Pourtant son petit frère '<input>' le fait sans difficulté avec l'attribut maxlen.
Voici donc une fonction javascript qui va contourner le problème.
function textLimit(field, maxlen) { if (field.value.length > maxlen) { field.value = field.value.substring(0, maxlen); alert('Votre texte est trop long!'); } }
Cette fonction est simple, elle regarde la longueur du texte écrit dans le textarea, si elle dépasse la taille maximal, elle le tronque.
Pour “brancher” cette fonction a un textarea il suffit de rajouter :
onkeyup=“textLimit(this, 40);” dans les propriété du textarea :
<textarea cols="20" rows="2" value="" name="test" id="test" onkeyup="textLimit(this, 40);"></textarea>
Discussion