Résolu Comment compter les caractères textarea sous Javacript ?

Solutions (7)
Tags :
  • Javascript
  • Script
  • Programmation
, Programmation (collector) |
Bonjours,

sur mon site, j'ai besoin de conter le nombre de caractère présent dans un textarea ( afin de me mettre une limite par la suite ... )

donc dans mon code j'ai :
  1. <textarea name="addr" cols="40" rows="5" onKeyPress="countddrc(this);" ></textarea><br>
  2. <span id="addrc" style="text-align:right">600</span><br><br>


et dans mon <head> j'ai :
  1. <script language="javascript" type="application/javascript">
  2. function countddrc(nbcara)
  3. {
  4. document.getElementById('ddrc').innerHTML = 600 - nbcara.value.length;
  5. }
  6.  
  7. </script>


mais cela ne marche pas !!!
je voudrais bien comprendre mon erreur , mais je ne la trouve pas !
  • Meuniers a édité ce message
  • Meuniers a édité ce message
Contenus similaires
Meilleure solution
partage
, Modérateur |
Forcément, ça bloque toutes les touches.
Il faut récupérer la touche appuyée. Passe l'objet event à ta fonction.
  1. onKeyPress="return countddrc(event, this,'infosupc',500);"


  1. function countddrc(e, nbcara,span,nb)
  2. {
  3. var key =e.keyCode? e.keyCode : e.charCode;
  4. var len = nb - nbcara.value.length ;
  5. if(nbcara.value.length > 1 )
  6. {
  7. document.getElementById(span).innerHTML = 'Il vous reste ' + len + ' caractères.' ;
  8. }
  9. else
  10. {
  11. document.getElementById(span).innerHTML = 'Il vous reste ' + len + ' caractère.' ;
  12. }
  13. return key == 8 || nbcara.value.length < nb ;
  14. }


le KeyCode 8 est celui de Backspace
  • Commenter cette solution |
Score
0
òh
òi
, Programmation (collector) |
Meilleure réponse sélectionnée par andrelec1.
  • Commenter cette réponse |
Score
0
òh
òi
, Programmation (collector) |
Merci de votre aide ... tous marche !
  • Commenter cette réponse |
Score
0
òh
òi
, Programmation (collector) |
J'ai modifier de la façon suivante :

  1. <textarea name="infosup" cols="42" rows="5" onFocus="resettexta('infosup',this);" onKeyPress="return countddrc(this,'infosupc',500);">(Tous ce que vous jugez bon de nous dire en plus de la description.)</textarea><br>
  2. <span id="infosupc" style="text-align:right">Il vous reste 600 caratères.</span><br>


  1. function countddrc(nbcara,span,nb)
  2. {
  3. var len = nb - nbcara.value.length ;
  4. if(nbcara.value.length > 1 )
  5. {
  6. document.getElementById(span).innerHTML = 'Il vous reste ' + len + ' caractères.' ;
  7. }
  8. else
  9. {
  10. document.getElementById(span).innerHTML = 'Il vous reste ' + len + ' caractère.' ;
  11. }
  12.  
  13. return nbcara.value.length < nb ;
  14. }


cela marche , mais il reste un petit problème ... une fois la limite atteint on ne peut pas utilisée la touche "backspace" pour supprimer ...
une solution a proposé .?
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Essaie de faire un return false si c'est le cas.
  1. onKeyPress="return countddrc(this);"


  1. function countddrc(nbcara)
  2. {
  3. var len = nbcara.value.length;
  4. document.getElementById('addrc').innerHTML = 600 - len;
  5. return len < 600;
  6. }
  • Commenter cette réponse |
Score
0
òh
òi
, Programmation (collector) |
ha bas je me sens con la !
Par contre avec ce code pour le moment je ne bloquer pas l'ajout de caractère une fois la limite atteint !

j'ai pu comprendre que la technique consiste a couper la chaine, mais c'est la seul solution ?
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Tu as nommé ton id "addrc" et tu utilises "ddrc" dans ton code javascript =)
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS