Partage
  • Partager sur Facebook
  • Partager sur Twitter

getElementById renvoie null

la fonction document.getElementById() renvoie la valeur null

Sujet résolu
    15 février 2011 à 18:46:43

    Salut les zéros, voila je me prend la tête depuis longtemps sur se problème : j'essaye tout simplement de modifier la valeur d'un champs, ici un input, j'ai trouver pourquoi sa ne fonctionnais pas, la fonction getElementById renvoie un "null" pourtant le code tourne très bien sur JS Bin.
    Bon j'ai couper le code à l'essentiel mais en bref il s'agit d'un simple formulaire :

    <input type="password" id="passfield" name="pwd" size="8" maxlength="8" value="" />
    


    var modif = document.getElementById("passfield");
    


    Pour information, j'ai créer un code Javascript qui génère un mot de passe automatiquement et le stocke dans un Cookie (si il n'existe pas) ensuite une fonction récupère la valeur de se Cookie et est sensé la mettre dans le champs de mot de passe, tout fonctionne seul persiste se problème de getElementById qui retourne "null"
    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2011 à 18:50:56

      Bonjour

      document.getElementById("passfield").value = tonCookie;
      

      ça devrait marcher, si ça marche pas :
      document.getElementById("passfield").innerHTML = tonCookie;
      

      (mais utilise pas innerHTML car c'est le mal)
      Si ça marche toujours pas le bug ne vient pas de là.

      Kazerd
      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2011 à 18:55:32

        ^^ j'ai oublier de préciser que j'avais tester pas mal de truc comme ceux que tu viens de mentionner, j'ai fais beaucoup de recherche et j'ai tester a peu près tout se que j'ai trouver, c'est pour sa que je suis complètement perdu ...
        • Partager sur Facebook
        • Partager sur Twitter
          15 février 2011 à 19:15:18

          Bon j'ai fais un petit code qui marchait au debut qui marchait plus et qui semble au final tenir debout. Enfin bon j'arrive parfaitement a afficher la bonne valeur moi.

          Tu peux test le html. (ça marche sur firefox)

          <html>
              
              <head>
                  <title>
                      Test
                  </title>
              </head>
              
              <body>
                  <script type="text/javascript" language="javascript">
                      function createCookie(name, value, days) {
                          if (days) {
                              var date = new Date();
                              date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                              var expires = "; expires=" + date.toGMTString();
                          } else
                          var expires = "";
                          document.cookie = name + "=" + value + expires + "; path=/";
                      }
          
                      function readCookie(name) {
                          var nameEQ = name + "=";
                          var ca = document.cookie.split(';');
                          for (var i = 0; i < ca.length; i++) {
                              var c = ca[i];
                              while (c.charAt(0) == ' ') c = c.substring(1, c.length);
                              if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
                          }
                          return null;
                      }
          
                      function eraseCookie(name) {
                          createCookie(name, "", -1);
                      }
          
                      function Save() {
                          createCookie("log", document.getElementById("textfield").value, 3600);
                          createCookie("pass", document.getElementById("passfield").value, 3600);
                      }
          
                      function Val() {
                          document.getElementById("textfield").value = readCookie("log");
                          document.getElementById("passfield").value = readCookie("pass");
                      }
          
                      function AVal() {
                          alert("Valeur de textfield : " + document.getElementById("textfield").value);
                          alert("Valeur de passfield : " + document.getElementById("passfield").value);
                      }
                  </script>
                  <input type="text" id="textfield" name="pwd" size="8" maxlength="8" value=""
                  />
                  <br/>
                  <input type="password" id="passfield" name="pwd" size="8" maxlength="8"
                  value="" />
                  <br/>
                  <input type="button" id="save" name="save" value="Cooking" onclick="Save();"
                  />
                  <br/>
                  <input type="button" id="val" name="val" value="Lire Cookie" onclick="Val();"
                  />
                  <br/>
                  <input type="button" id="val" name="val" value="Alert Val" onclick="AVal();"
                  />
                  <br/>
              </body>
          
          </html>
          
          • Partager sur Facebook
          • Partager sur Twitter
            15 février 2011 à 19:38:54

            :) merci beaucoup pour ton script ! pas mal de chose qui pourront mettre utile dedans :-° .

            Et sa fonctionne enfin , j'ai coller le script juste en dessous de l'input et la sa marche o_O , bon je vais pas me poser plus de question temps que sa marche :lol:


            Merci beaucoup pour ton aide ! ;)
            • Partager sur Facebook
            • Partager sur Twitter

            getElementById renvoie null

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown