Limiter la saisie de caractère dans une zone de saisie

moi
Invité n'ayant pas de compte PHPfrance

16 mai 2007, 15:29

Bonjour,

Voila, j'aimerai savoir de quel manière l'on bloque la saisie a partir d'un certain nombre de caractère dans une zone de texte. J'aimerai si possible que lorque l'utilisateur saisissent cela se bloque si il depasse un nombre de caractère.

J'espère avoir été clair et que vous pourrez m'aider

Merci d'avance

lem
Eléphant du PHP | 108 Messages

16 mai 2007, 15:40

Ca se fait en javascript:

Code : Tout sélectionner

<html><head><title>Limite la taille d'un textarea</title> <script> function limite(zone,max) { if(zone.value.length>=max){zone.value=zone.value.substring(0,max);} } </script> </head><body> <form name="menu1"> <TEXTAREA NAME="zone2Text" COLS="40" ROWS="10" onKeyUp="limite(this,40);" onKeyDown="limite(this,40);" >Votre texte ici.</TEXTAREA> </form> </body></html>
Lem.

moi
Invité n'ayant pas de compte PHPfrance

16 mai 2007, 15:55

j'ai essayé mais que se soit sur internet explorer ou firefox, cela ne fonctione pas.

merci

lem
Eléphant du PHP | 108 Messages

16 mai 2007, 15:57

Je viens de le tester chez moi et ça fonctionne (avec IE)
Tu dis que cela ne fonctionne pas. Peux-tu nous montrer ton code pour qu'on puisse t'aider à le faire marcher ?
Lem.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 mai 2007, 16:09

Pour des input de type "text", il suffit de définir l'atribut maxLength. Pour des champs de type textarea, il te faut effectivement passer par du javascript (nécessite donc qu'il soit activé) et la solution de lem me semble tout à fait correcte :)

Toutefois, cela ne dispense pas par la suite d'un contrôle des données reçues par php ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

lem
Eléphant du PHP | 108 Messages

18 mai 2007, 11:21

et la solution de lem me semble tout à fait correcte :)
Merci pour la validation :D
Lem.