naceroth a écrit :
Tu utilises un appendChild ou une méthode du style pour insérer ta ligne dans le document ?
|
Apres avoir fais un clone de ma ligne j'utilise un insertBefore sur le noeud de la table mais le principe reste le meme que le appendChild
Voici ma fonction lorsque je clique sur mon bouton "Ajout Projet" qui est dans mon tableau :
//Chaque ligne est reference par un id "ligne" + ligne qui est une variable qui s'incremente à chaque ligne
Code :
- function ajoutProjet(ligne)
- {
- var ligneACopier = document.getElementById("ligne" + ligne);
- var table = ligneACopier.parentNode;
- var ligneClone = ligneACopier.cloneNode(true);
- table.insertBefore(ligneClone, ligneACopier);
-
- //Traitement pour mettre à jour les attributs.
- var tousLesSelect = ligneClone.getElementsByTagName ("select" );
- //Recuperation du nombre de projet
- var nbProjet = document.getElementById("nbprojet" );
- var attri;
- //Mise à jour du nombre de projet
- nbProjet.value=parseInt(nbProjet.value)+1;
- //Mise à jour des attributs name
- for (var i = 0 ; i < tousLesSelect.length ; i++)
- {
- //is_ignorable : hack pour Firefox à cause des espaces
- if (is_ignorable (tousLesSelect[i]) == false && tousLesSelect[i].hasAttribute("name" ))
- {
- //attri = tousLesSelect[i].getAttribute("name" );
- attri = tousLesSelect[i].name;
- attri = attri.substring(0,attri.lastIndexOf("_" ));
- //tousLesSelect[i].setAttribute("name", attri+"_"+nbProjet.value);
- tousLesSelect[i].name = attri+"_"+nbProjet.value;
- }
- }
- //Mise à jour de l'attribut id du tr cloné
- ligneClone.id = "ligne"+nbProjet.value;
- }
|
pierreC, curieux que tu ne recupere pas le node/noeud de ton formulaire. Tu l'appelles directement par document.frm. Je ne savais que l'on pouvait le faire avec un appendChild.
Le plus furstrant dans tout ca, c'est que l'ajout fonctionne super bien, syntaxiquement au niveau html généré ca a l'air d'etre ok quand on inspecte les differents élements de la page (select, ligne, ...) avec firebug mais les données sont pas du tout envoyés