lundi 19 janvier 2009

[javascript] Afficher un message d'erreur si le textarea est trop long

Il s'agit de limiter le nombre de caractères d'un textarea avant l'envoi du formulaire. Lorsque la limite est dépassée, un message d'erreur apparaît, comme celui-ci :


Pour cela nous allons utiliser un javascript, à placer dans le head de la page ou dans un fichier qu'on appellera ensuite dans le même head :
function textLimit(field, maxlen) {
if (field.value.length > maxlen) {
field.value = field.value.substring(0, maxlen);
alert('Votre message est trop long ! Merci d\'être plus concis.');
}
}


Et puis dans le textarea concerné, on ajoutera onkeyup="textLimit(this, XX);", XX étant le nombre de caractères autorisé, espaces compris.

Dans un formulaire Spip, où le textarea n'est pas dans la page forum.html par exemple, on ajoutera à la balise #TEXTE le filtre :
|inserer_attribut{onkeyup,'textLimit(this, XX);'}

J'ai trouvé ce script ici et ici.

0 commentaires: