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 :

champs avec undefined par defaut grrrr


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Points : 41
    Points
    41
    Par défaut champs avec undefined par defaut grrrr
    Salut,

    J'ai adapte un petit script mais je me trouve confronte a un probleme de variable qui s'initialise a undefined je pense que le code sera plus explicatif

    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
    // ********************************************
    // FONCTION twCompteur_Texte()
    // ********************************************
    function twCompteur_Texte(nTexte, nCompteur, nLimite) {
      // Ajouter ce code dans la saisie du champ "textarea"
      // onKeyDown="twCompteur_Texte(this,this.form.compte,2000);"
      // onKeyUp="twCompteur_Texte(this,this.form.compte,2000);"
      // 2000 représente le nombre maximum de caractères accepté
      // Vous devez aussi ajouter une boîte de saisie qui
      // indique le nombre de caractères restant.
      // <input readonly="readonly" type="text" name="compte" value="2000">
      if (nTexte.value.length > nLimite)
        nTexte.value = nTexte.value.substring(0, nLimite);
      else 
        nCompteur.value = nLimite - nTexte.value.length;
    }//-->
     
    function cookieSave(name, text) {
      document.cookie = name + "=" + escape(text);
      }
     
    function cookieLoad(name) {
      var search = name + "=";
      if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        if (offset != -1) {
          offset += search.length;
          end = document.cookie.indexOf(";", offset);
          if (end == -1) {
            end = document.cookie.length;
            }
          return unescape(document.cookie.substring(offset, end));
          }
        }
      }
    voici la ligne ou se pose le probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form id="editForm">
     <textarea name="editArea" cols="50" rows="5" class="bleu_petit" id="editArea" onkeyup="cookieSave('editArea',this.value);twCompteur_Texte(this,this.form.compte,255);cookieSave('compte',compte.value);" onkeydown="twCompteur_Texte(this,this.form.compte,255);"></textarea>
                            <span class="bleu_petit">Il&nbsp;vous&nbsp;reste
                            <input name="compte" type="text" class="bleu_petit" value="255" size="4" maxlength="4" readonly="readonly" />
    caract&egrave;res </span>
     
                          </form>
     
    <script type="text/javascript">
    document.getElementById('editArea').value = cookieLoad('editArea');
    document.getElementById('compte').value = cookieLoad('compte');
    </script>
    En faite je comprends pourquoi j'ai undefined mais je voudrais detecter le faite que mon champs soit vide et si il est vide initialiser une variable je connais tres peu le javascript d'ou ma demande

    Merci de votre aide

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Comme ca, ça le fait plutot bien :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <html>
     
     
    <body>
    <script type="text/javascript">
    // ********************************************
    // FONCTION twCompteur_Texte()
    // ********************************************
    function twCompteur_Texte(nTexte, nCompteur, nLimite) {
      // Ajouter ce code dans la saisie du champ "textarea"
      // onKeyDown="twCompteur_Texte(this,this.form.compte,2000);"
      // onKeyUp="twCompteur_Texte(this,this.form.compte,2000);"
      // 2000 représente le nombre maximum de caractères accepté
      // Vous devez aussi ajouter une boîte de saisie qui
      // indique le nombre de caractères restant.
      // <input readonly="readonly" type="text" name="compte" value="2000">
      if (nTexte.value.length > nLimite)
        nTexte.value = nTexte.value.substring(0, nLimite);
      else
        nCompteur.value = nLimite - nTexte.value.length;
    }//-->
     
    function cookieSave(name, text) {
      document.cookie = name + "=" + escape(text);
      }
     
    function cookieLoad(name) {
      var search = name + "=";
      if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        if (offset != -1) {
          offset += search.length;
          end = document.cookie.indexOf(";", offset);
          if (end == -1) {
            end = document.cookie.length;
            }
          return unescape(document.cookie.substring(offset, end));
          }
        }
      }
    </script>
    <form id="editForm">
     <textarea name="editArea" cols="50" rows="5" class="bleu_petit" id="editArea" onkeyup="cookieSave('editArea',this.value);twCompteur_Texte(this,this.form.compte,255);cookieSave('compte',compte.value);" onkeydown="twCompteur_Texte(this,this.form.compte,255);"></textarea>
                            <span class="bleu_petit">Il&nbsp;vous&nbsp;reste
                            <input name="compte" type="text" class="bleu_petit" value="255" size="4" maxlength="4" readonly="readonly" />
    caract&egrave;res </span>
     
                          </form>
     
    <script type="text/javascript">
    document.getElementById('editArea').value = (document.getElementById('editArea').value == "")?"":cookieLoad('editArea');
    alert(document.getElementById('compte').value);
    document.getElementById('compte').value = (document.getElementById('compte').value == "255")?(255):cookieLoad('compte');
    alert(document.getElementById('compte').value);
    </script>
     
    </body>
    </html>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Points : 41
    Points
    41
    Par défaut
    Salut

    Ca m'a l'air de fonctionner mais lorsque je raffraichi la page je perd les données qui etait inserée dans le champs et qui utilise la fonction cookies

    Grrrrrr

Discussions similaires

  1. Champ DATE avec valeur par defaut
    Par rjulie dans le forum Administration
    Réponses: 1
    Dernier message: 24/09/2012, 17h24
  2. Réponses: 4
    Dernier message: 12/05/2011, 18h00
  3. Réponses: 1
    Dernier message: 30/11/2010, 21h02
  4. champ type lookup avec valeur par defaut
    Par jeinny dans le forum CRM
    Réponses: 0
    Dernier message: 17/02/2010, 15h44
  5. [Système] Ouvrir fichier externe avec prog par défaut de l'OS
    Par Pill_S dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 30/05/2004, 11h54

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