Javascript : champ introuvable apre innerHTML

Fermé
david.pl - 14 mai 2008 à 23:31
Zempachi Messages postés 7472 Date d'inscription vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 - 15 mai 2008 à 10:49
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

4 réponses

Zempachi Messages postés 7472 Date d'inscription vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 906
14 mai 2008 à 23:50
Salut,
il faudrait nous donner le code ou un exemple de code pour voir ou si situe le pb.
0
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
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
15 mai 2008 à 00:48
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
Zempachi Messages postés 7472 Date d'inscription vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 906
15 mai 2008 à 10:49
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