Javascript : champ introuvable apre innerHTML

Bonjour,

Depuis ce matin je suis sur un problème que je vais tenter de vous expliquer.
Je travail sur un formulaire de saisie de produit.
Je souhaiterai que des lors que l'on saisi un produit, une ligne de plus se rajoute au tableau.
A l'affichage de la page, je fais ma fonction de creation d'une ligne pour en avoir juste une.
Le probleme que je rencontre est que lorsque je fais un innerHTML pour ajouter la ligne dans mon tableau html, les champs insérés sont inaccessibles depuis les fonctions javascript ecritent des le debut.

J'espère m'etre fait comprendre.

Je vous remercie de l'aide que vous pourrez m'apporter.

David
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  1. Contributeur
    Salut,
    il faudrait nous donner le code ou un exemple de code pour voir ou si situe le pb.
    0
    1. Bonsoir

      Effectivement excusez moi, je suis debutant sur ce forum.
      Voici un morceau de la fonction qui est lancé au debut

      function AjouterLigneTableauProduit()
      {
      var ligne, cellule;
      ligne = document.getElementById('tableau_produit').insertRow();//Insèrer une ligne dans le tableau

      cellule = ligne.insertCell();//Insèrer une cellule dans la ligne
      with (cellule)
      {
      innerHTML = '<input type="text" id="pro_ref"/>';//Insèrer le texte dans la cellule
      }
      }

      par la suite, j'essai d'acceder à mon champ en faisant

      alert(document.getElementById("pro_ref").id);

      A ce moment la, une erreur et le message me dit que l'objet est introuvable

      Merci beaucoup

      David
      0
      1. Salut,
        J'ai testé ce code html est quand je clique sur le bouton 'Test' il affiche : id de l'élement à tester est pro_ref

        --------------------------------------------------------
        <html>
        ...
        <SCRIPT>
        function AjouterLigneTableauProduit()
        {
        var ligne, cellule;
        ligne = document.getElementById('tableau_produit').insertRow();//Insèrer une ligne dans le tableau

        cellule = ligne.insertCell();//Insèrer une cellule dans la ligne
        with (cellule)
        {
        innerHTML = '<input type="text" id="pro_ref"/>';//Insèrer le texte dans la cellule
        }
        }
        </SCRIPT>
        .....
        <body>
        .....
        <table id="tableau_produit">

        </table>
        ....
        <button onclick="alert('id de l\'élement à tester est ' + document.getElementById('pro_ref').id);">Test</button>
        .....
        </body>
        </html>
        --------------------------------------------------------

        Bonne chance
        0
        1. Contributeur
          Re,
          et bien je vois que tu t'es bien débrouillé grâce à mon aide infinie et absolue! ^^

          EDIT: histoire de dire quelque chose, n'utilise le "with" que si tu as plusieurs fonctions utilisées pour l'objet concerné sinon ça n'a pas grand intérêt.
          0