LIMITER LE NOMBRE DE CARACTÈRE DANS UN TEXTAREA - NOUVELLE VERSION ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
19 oct. 2005 à 13:07
cs_catlord
Messages postés3Date d'inscriptionmardi 13 janvier 2009StatutMembreDernière intervention20 mai 2010
-
20 mai 2010 à 12:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_catlord
Messages postés3Date d'inscriptionmardi 13 janvier 2009StatutMembreDernière intervention20 mai 2010 20 mai 2010 à 12:14
Très bon script, merci
Dark_Balor
Messages postés2Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention27 mai 2009 27 mai 2009 à 17:24
merci pour le code c'est exactement ce que je cherchais
bristohn
Messages postés1Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention12 août 2007 12 août 2007 à 09:54
sympa ce code. merci
chankalan
Messages postés16Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention17 décembre 2007 5 juil. 2006 à 08:38
parfait parfait parfait, c'est exactement celui-ci que j'ai essayé d'écrire... mais keskispas l'avait déjà fait...
juste que pour 2 textarea, ça fonctionnait pas avec
LimiterTextArea(document.frmPage.commentaire2, 255, div_decompte2);
mais avec
LimiterTextArea(commentaire2, 255, div_decompte2);
merci pour ce code utile et intelligent !
cs_keskispas
Messages postés46Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention26 août 2008 24 mai 2006 à 12:10
saminfo25 c'est pas mal mais on retombe dans tout ce que j'ai voulu éviter avec mon script :
- Le nombre de caractères max est DANS la fonction. Donc si on veut fixer plusieurs limites il faut dupliquer la fonction pour chacune d'entre elles.
- La référence aux évènements est inscrit dans chaque textarea, alors si on a 10 textareas, il faut enchainer les copier-coller pour chacun, en faisant gaffe au reste du dév qui pourrait s'appuyer sur ces mêmes évènements (contrôle de saisie...)
- les évènements OnKeyUp et OnKeyPress ne couvrent pas tous les moyens de mettre du texte dans un textarea (et donc d'en fixer les limites !) tel que le drag&drop avec la souris.
Donc, ton exemple est plus simple à comprendre, mais à l'usage plus lourd à maintenir.
saminfo25
Messages postés3Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention17 mai 2006 17 mai 2006 à 20:13
krolineeeeeeee
Messages postés3Date d'inscriptionlundi 30 janvier 2006StatutMembreDernière intervention22 mars 2006 22 mars 2006 à 15:03
Heu nikel ta source mais j'ai une petite question, quand je met le textarea dans un formulaire et je j'utilise un input de type 'reset', le compteur de caractères ne revient pas au nombre de départ, soit si j'ai une taille de 150 et ke je met 10 caractères dans la textarea, qd je reset, le text disparait mais le compteur reste à 140...
T'aurais pas une petite idée pour résoudre mon ptit bug stp??
Merci
kroline
TetsuoSan
Messages postés2Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention26 février 2006 26 févr. 2006 à 15:33
Très bonne source !
Moi qui ne fait pas de javascript, j'ai parfois besoin de quelques fonctions histoire de rendre mes sites plus fonctionnels, donc, merci beaucoup pour cette contribution.
PS : j'ai opté pour le GetElementByID proposé par RUKET01, afin de mieux correspondre aux normes W3C, et également pour eviter d'avoir à repérer le "form" dans lequel le controle se trouve.
Bonne continuation :)
cs_keskispas
Messages postés46Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention26 août 2008 10 janv. 2006 à 14:42
Dans le code
"LimiterTextArea(document.frmPage.commentaire, 10, div_decompte);"
remplace "div_decompte" par "document.div_decompte".
Je pense que ça vient de là
paranonyme
Messages postés2Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 9 janvier 2006 9 janv. 2006 à 11:42
Bonjour, et Merci pour la réponse,
J'ai juste une dernière petite question.
Je suis sur mac et j'ai tester différents navigateurs en ma possession (camino, opera, safari, firefox, netscape). J'ai rencontré un problème uniquement avec netscape 7.2 mac, ça ne fonctionne pas.
Quelqu'un aurait-il une idée de ce qui pose problème et sur pc y a t'il un problème?
J'ai essayé de voir ce que le debugger racontait mais je ne sais pas la faire fonctionner, la javascript console indique div_decompte not defined?
...
cs_keskispas
Messages postés46Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention26 août 2008 5 janv. 2006 à 10:41
Tout à fait. La fonction est paramétrable à chaque textarea. Je m'explique :
Tu auras donc 2 textareas :
le premier nommé "commentaire1", avec un compteur "div_decompte1" et qui n'accepte que 150 caractères. Le second "commentaire2", avec le compteur "div_decompte2" et qui en accepte 255 maxi.
Voilà !
paranonyme
Messages postés2Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 9 janvier 2006 4 janv. 2006 à 10:10
Bonjour,
Une petite question par rapport à ce code, est-il possible d'insérez dans ma page 2 textarea avec des limitation de caractère différent?
Merci d'avance.
ruket01
Messages postés1Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention24 novembre 2005 24 nov. 2005 à 16:30
Merci pour ton code très efficace. Par contre, y a juste un truc que j'ai dû modifié à cause de warning sur la console JDOM (en tout cas avec Mozilla) car il vaut mieux récupérer les éléments avec un document.getElementById('monId').
Pour ça j'ai juste changé l'appel à LimiterTextArea par:
// Affichage du nombre de caractères restant
moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
}
A part ça, le code est nickel. Merci encore.
cs_keskispas
Messages postés46Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention26 août 2008 29 oct. 2005 à 17:18
Pour Meduse, la modification est dispo !
cs_Meduse
Messages postés11Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 1 novembre 2005 29 oct. 2005 à 08:45
Merci pour ton code mais il manque un décompte des caractère au fur et à mesure que l'utilisateur tape c'est caractère dans le textarea. as-tu un code tel celui la
merci
meduse
cs_keskispas
Messages postés46Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention26 août 2008 21 oct. 2005 à 23:43
Je complique parceque si je viens avec ma souris et que je colle 500 caractères avec le clic droit dans ton textarea, ta fonction ne servira à rien car elle ne teste pas le bon évènement.
Dans ma description, j'ai écris : "On évite ainsi de répéter tous les évènements intérressants à chaque fois qu'on pose un textarea."
C'est exactement pour éviter ton code que j'ai créé celui là !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 19 oct. 2005 à 13:07
20 mai 2010 à 12:14
27 mai 2009 à 17:24
12 août 2007 à 09:54
5 juil. 2006 à 08:38
juste que pour 2 textarea, ça fonctionnait pas avec
LimiterTextArea(document.frmPage.commentaire2, 255, div_decompte2);
mais avec
LimiterTextArea(commentaire2, 255, div_decompte2);
merci pour ce code utile et intelligent !
24 mai 2006 à 12:10
- Le nombre de caractères max est DANS la fonction. Donc si on veut fixer plusieurs limites il faut dupliquer la fonction pour chacune d'entre elles.
- La référence aux évènements est inscrit dans chaque textarea, alors si on a 10 textareas, il faut enchainer les copier-coller pour chacun, en faisant gaffe au reste du dév qui pourrait s'appuyer sur ces mêmes évènements (contrôle de saisie...)
- les évènements OnKeyUp et OnKeyPress ne couvrent pas tous les moyens de mettre du texte dans un textarea (et donc d'en fixer les limites !) tel que le drag&drop avec la souris.
Donc, ton exemple est plus simple à comprendre, mais à l'usage plus lourd à maintenir.
17 mai 2006 à 20:13
http://www.phpfrance.com/forums/voir_sujet-16828.php?sid=99f6226b15232f12059efd8016e5625c
22 mars 2006 à 15:03
T'aurais pas une petite idée pour résoudre mon ptit bug stp??
Merci
kroline
26 févr. 2006 à 15:33
Moi qui ne fait pas de javascript, j'ai parfois besoin de quelques fonctions histoire de rendre mes sites plus fonctionnels, donc, merci beaucoup pour cette contribution.
PS : j'ai opté pour le GetElementByID proposé par RUKET01, afin de mieux correspondre aux normes W3C, et également pour eviter d'avoir à repérer le "form" dans lequel le controle se trouve.
Bonne continuation :)
10 janv. 2006 à 14:42
"LimiterTextArea(document.frmPage.commentaire, 10, div_decompte);"
remplace "div_decompte" par "document.div_decompte".
Je pense que ça vient de là
9 janv. 2006 à 11:42
J'ai juste une dernière petite question.
Je suis sur mac et j'ai tester différents navigateurs en ma possession (camino, opera, safari, firefox, netscape). J'ai rencontré un problème uniquement avec netscape 7.2 mac, ça ne fonctionne pas.
Quelqu'un aurait-il une idée de ce qui pose problème et sur pc y a t'il un problème?
J'ai essayé de voir ce que le debugger racontait mais je ne sais pas la faire fonctionner, la javascript console indique div_decompte not defined?
...
5 janv. 2006 à 10:41
Pour ton 1er textarea:
<textarea id="commentaire1" name="commentaire1" class="limiter"></textarea>
<script language="Javascript" type="text/javascript">
LimiterTextArea(document.frmPage.commentaire1, 150, div_decompte1);
</script>
Pour ton 2è :
<textarea id="commentaire2" name="commentaire2" class="limiter"></textarea>
<script language="Javascript" type="text/javascript">
LimiterTextArea(document.frmPage.commentaire2, 255, div_decompte2);
</script>
Tu auras donc 2 textareas :
le premier nommé "commentaire1", avec un compteur "div_decompte1" et qui n'accepte que 150 caractères. Le second "commentaire2", avec le compteur "div_decompte2" et qui en accepte 255 maxi.
Voilà !
4 janv. 2006 à 10:10
Une petite question par rapport à ce code, est-il possible d'insérez dans ma page 2 textarea avec des limitation de caractère différent?
Merci d'avance.
24 nov. 2005 à 16:30
Pour ça j'ai juste changé l'appel à LimiterTextArea par:
LimiterTextArea('commentaire', 10, 'div_decompte');
et la fonction LimiterTextArea par:
function LimiterTextArea(idArea, nbcar, idDecompte)
{
moncontroletexte = document.getElementById(idArea);
moncontroledecompte = document.getElementById(idDecompte);
moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
// Affichage du nombre de caractères restant
moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
}
A part ça, le code est nickel. Merci encore.
29 oct. 2005 à 17:18
29 oct. 2005 à 08:45
merci
meduse
21 oct. 2005 à 23:43
Dans ma description, j'ai écris : "On évite ainsi de répéter tous les évènements intérressants à chaque fois qu'on pose un textarea."
C'est exactement pour éviter ton code que j'ai créé celui là !
19 oct. 2005 à 13:07
<HTML>
<HEAD>
<script type="text/javascript">
function TextAreaEstRempli(moncontroletexte, nbcar)
{
if (moncontroletexte.value.length > nbcar)
moncontroletexte.value = moncontroletexte.value.substr(0, nbcar);
}
</script>
<TITLE></TITLE>
</HEAD>
<textarea onkeyup="TextAreaEstRempli(this,10);"></textarea>
</HTML>