IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

compter saut ligne d'un textarea


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 114
    Par défaut compter saut ligne d'un textarea
    Bonjour,

    Voici ma fonction qui compte le nombre de caractères d'un textarea.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function calculeLongueur(element,longueur)
    {
       var iLongueur, iLongueurRestante;
       iLongueur = document.getElementById(element).value.length;
       if (iLongueur>longueur) {
          document.getElementById(element).value = document.getElementById (element).value.substring(0,longueur);
          iLongueurRestante = 0;
       }
       else {
          iLongueurRestante = longueur - iLongueur;
       }
       if (iLongueurRestante <= 1)
          document.getElementById('div'+element).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;re&nbsp;disponible";
       else
          document.getElementById('div'+element).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;res&nbsp;disponibles";
    }
    Malheureusement je viens de m'apercevoir que les sauts de lignes ne sont pas pris en compte ce qui fausse le nombre de caractères restants.

    Qqn aurait une idée de modif pour prendre en compte c saut de ligne?

    Merci d'avance
    Couse1

  2. #2
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Les sauts de ligne sont naturellement pris en compte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>nombre de caractères dans un textarea</title>
       <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
       </style>
    </head>
    <body>
      <form id="f" method="post" action="p.html" onsubmit="return f1();">
        <textarea id="t" rows="5" cols="40">bla
    blo</textarea>
        <input id="s" name="s" type="submit" value="submit" />
      </form>
      <script type="text/javascript">
      function f1(){
        alert(document.getElementById("t").value.length);
        return false;
      }
      </script>
    </body>
    </html>
    ton code fonctionne, ou j'ai mal compris!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
       <title>nombre de caractères dans un textarea</title>
       <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
       </style>
    </head>
    <body>
      <form id="f" method="post" action="p.html" onsubmit="return calculeLongueur('t',10);">
        <textarea id="t" rows="5" cols="40">bla
    blo</textarea>
        <input id="s" name="s" type="submit" value="submit" />
      </form>
      <div id="divt"></div>
      <script type="text/javascript">
      function f1(){
        alert(document.getElementById("t").value.length);
        return false;
      }
      function calculeLongueur(element,longueur) {
         var iLongueur, iLongueurRestante;
         iLongueur = document.getElementById(element).value.length;
         if (iLongueur>longueur) {
            document.getElementById(element).value = document.getElementById (element).value.substring(0,longueur);
            iLongueurRestante = 0;
         }else{
            iLongueurRestante = longueur - iLongueur;
         }
        if (iLongueurRestante <= 1) {
          document.getElementById('div'+element).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;re&nbsp;disponible";
        } else {
          document.getElementById('div'+element).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;res&nbsp;disponibles";
        }
        return false;
      }
      </script>
    </body>
    </html>
    6 caractères + un saut de ligne = 7, il reste donc 3 caractères.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saut de ligne dans un textarea
    Par herve42 dans le forum Langage
    Réponses: 11
    Dernier message: 12/01/2008, 13h19
  2. Afficher en html un saut de ligne d'un <textarea>
    Par lagag dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/04/2007, 11h06
  3. Réponses: 2
    Dernier message: 14/10/2006, 11h07
  4. Réponses: 9
    Dernier message: 29/03/2006, 16h40
  5. Réponses: 2
    Dernier message: 19/01/2005, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo