Bonjour à tous,
J'ai une boucle qui me permet de créer des lignes de tableaux grâce au DOM . Dans chaque cellule se trouve un input identifié par un id unique et généré de la manière suivante : 'ref_'+compteur de ma boucle, 'description_'+compteur, etc ...
Le problème est que lorsque je récupère la valeur des ces champs avec la méthode getAttribute('value'), j'obtiens la valeur pour tous les champs instanciés lors de ma boucle mais pas celles dont les inputs sont en "édition libre".
Concrètement, j'ai 3 champs ref,description et prix qui fonctionnent parfaitement, mais le dernier : serial, est renseigné par l'utilisateur . Et lorsque j'utilise getAttribute('value'), j'obtiens les valeurs de ref,description et prix mais pas celle de serial .
Code utilisé pour générer l'input serial :
[code]
for(var i = 0; i < 6; i++) {
if ( i != 4){
var inp = document.createElement("input");
inp.setAttribute("readonly","readonly");
inp.setAttribute("type","text");
}
if (i == 3){inp.setAttribute("id","serial_"+fieldcount_materiel);
inp.removeAttribute("readonly");
inp.setAttribute("value","");
cell.appendChild(inp);
}
}
[/code]
Code utilisé pour récupérer la valeur de serial :
[code]
var elemdiv = document.getElementById('materiel');
var children = elemdiv.childNodes;
for(var i = 1;i< children.length;i++){
tmp2 += children[i].childNodes[0].childNodes[0].childNodes[3].childNodes[0].getAttribute('value')+' |||| ';
}
[/code]
J'aimerais donc savoir si getAttribute ne récupère que les valeurs crées via le DOM apr la méthode setAttribute() ou si on peut l'utiliser pour récupérer la valeur comme le ferais un getElementById('serial').value ( chose que je ne peux faire dûe à la composition de mon tableau qui mélange plusieurs types d'id et qui ne sont pas forcément toutes présentes) .
Merci pour votre aide .