Bonjour,

J'ai un tableau d'une 30aine de colone contenant des balises select.

Je me suis cr�� un un bouton qui me permet de dupliquer une ligne. Je l'ai fais avec DOM en javascript avec la fonction cloneNode.

Puis toujours avec j'ai renom� les attributs name des nouveaux select pour diff�rencier les champs avec la ligne qui a servi de copie. J'ai control� � l'aide de Firebug, les attributs sont bien renomm�.

Lorsque je submit mon formulaire, les champs nouvellement cr�� n'apparraissent pas dans print_r($_POST).

J'ai essay� les 2 m�thodes pour changer les attribut name avec :
- element.name = "jour_1";
et - element.setAttribute("name", "jour_1" );

Ou ai je faut� ?

Est ce que l'on peux reelement creer des elements d'un formulaire cot� client avec DOM en javascript pour ensuite pouvoir exploiter les informations cot� serveur ?
J'ai l'impression que non, car ce sont uniquement mes select cr�� cot� client qui ne sont pas envoy�s.


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 : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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;
 
 
}