Longueur maximale pour HTML & lt; textarea & gt;
Comment limiter le nombre maximum de caractères qui peuvent être entrés dans une page HTML <textarea>
? Je suis à la recherche d'une solution de navigateur.
source d'informationauteur cmsherratt | 2008-09-04
Vous devez vous connecter pour publier un commentaire.
La
TEXTAREA
balise n'a pas unMAXLENGTH
attribut de la façon dont unINPUT
balise ne, au moins pas dans la plupart des navigateurs standard. Un moyen très simple et efficace pour limiter le nombre de caractères qui peuvent être tapé dans unTEXTAREA
tag est:Remarque:
onKeyPress
va empêcher un bouton, n'importe quel bouton y compris la touche retour arrière.Cela fonctionne parce que l'expression Booléenne compare la longueur du champ
avant que le nouveau caractère est ajouté à la longueur maximale que vous souhaitez (50 dans cet exemple, utilisez votre propre ici), et renvoie vrai si il ya de la place pour un de plus,
false
si pas. Renvoyant false à partir de la plupart des événements annule l'action par défaut.Donc, si la longueur actuelle est déjà de 50 (ou plus), la fonction renvoie la valeur false,
le
KeyPress
action est annulée, et le personnage n'est pas ajouté.Une mouche dans la pommade, c'est la possibilité de le coller dans une
TEXTAREA
ce qui n'est pas la cause de la
KeyPress
cas d'incendie, le contournement de cette case.Internet Explorer 5+ contient un
onPaste
événement dont le gestionnaire peut contenir lesde vérifier. Toutefois, notez que vous devez également prendre en compte la façon dont beaucoup de
les personnages sont en attente dans le presse-papiers pour savoir si le total est d'aller à
prenez-vous la limite ou non. Heureusement, c'est à dire contient également un presse-papiers
objet de l'objet window.Un Donc:
Encore une fois, la
onPaste
événement etclipboardData
objet sont IE 5+. Pour une solution de navigateur, vous aurez juste à utiliser unOnChange
ouOnBlur
gestionnaire pour vérifier la longueur, et la traiter comme vous le souhaitez (tronquer la valeur en silence, de notifier à l'utilisateur, etc.). Malheureusement, ce n'est pas de capture de l'erreur car il se passe, uniquement lorsque l'utilisateur tente de quitter le terrain, ce qui n'est pas très sympathique.Source
Aussi, il y a une autre façon, y compris un fini script vous pouvez inclure dans votre page:
http://cf-bill.blogspot.com/2005/05/textarea-maxlength-revisited.html
HTML5 permet maintenant de
maxlength
l'attribut<textarea>
.Il est pris en charge par tous les navigateurs sauf IE <= 9 et iOS Safari 8.4. Voir table de support sur caniuse.com.
Référence Ensemble maxlength en Html Textarea