Bonjour,

j'ai une table donc les lignes sont crees dynamiquement et chaque ligne a 4 cellules.
les noms de ces cellules sont concatenes avec la rowIndex de la ligne pour differencier les objects qui sont dans les differentes lignes.

mon code JS de creation des lignes

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<script>
 
   function getXhr(){
                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox and others
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest not supported by your browser
				   alert(" Your browser does not support XMLHTTPRequest objects..."); 
				   xhr = false; 
				} 
                  return xhr
			}
 
			/**
			*  method called when the user clicks on the button
			*/
			function go(){
				var xhr = getXhr()
				// We defined what we gonna do with the response
				xhr.onreadystatechange = function(){
					// We do somthing once the server's response is OK
					if(xhr.readyState == 4 && xhr.status == 200){
						var body = document.getElementsByTagName("body")[0];
 
					// Retrieve <table> ID and create a <tbody> element
 
						var tbl = document.getElementById("table");
						var tblBody = document.createElement("tbody");
						var row = document.createElement("tr");
 
						var cell_1 = document.createElement("td");
						var cell_2 = document.createElement("td");
						var cell_3 = document.createElement("td");
						var cell_4 = document.createElement("td");
 
					// Create the first cell which is a text zone	
						var cell1=document.createElement("input");
						cell1.type="text";
						cell1.name="fname";
						cell1.size="20";
						cell1.maxlength="50";
						cell_1.appendChild(cell1);
 
					// Create the second cell which is a text area	
						var cell2=document.createElement("textarea");
						cell2.name="fdescription";
						cell2.rows="2";
						cell2.cols="30";
						cell_2.appendChild(cell2);
 
					// Create the second cell which is a combo box
						var cell3 = document.createElement("div");
						cell3.id="rs";
						cell3.innerHTML=xhr.responseText;
						cell_3.appendChild(cell3);
 
 
					// Create the fourth cell which is a button
						var cell4=document.createElement("input");
						cell4.type="button";
						cell4.value="Delete"
						cell4.onclick=delRow;
						cell_4.appendChild(cell4);
 
					// add cells to the row
						row.appendChild(cell_1);
						row.appendChild(cell_2);
						row.appendChild(cell_3);
						row.appendChild(cell_4);
 
					// add the row to the end of the table body
						tblBody.appendChild(row);
 
					// put the <tbody> in the <table>
						tbl.appendChild(tblBody);
 
					//	Rename cells with the row index			
						var ind=row.rowIndex;
						var liste_fname = row.getElementsByTagName("input");
						for(i=0; i < liste_fname.length; i++)
						{
						   if(liste_fname[i].name == "fname") 
						   {
							  liste_fname[i].name = liste_fname[i].name + "_" + ind; //give fname_1, fname_2, fname_3, ...
 
						   }
						}
 
						var fd = row.getElementsByTagName("textarea");
						fd[0].name = fd[0].name + "_" + ind;
 
						var cd = row.getElementsByTagName("div");
						cd[0].id = cd[0].id + "_" + ind;
 
						var selectname = row.getElementsByTagName("select");
						selectname[0].name = selectname[0].name + "_" + ind;
 
					// appends <table> into <body>
						body.appendChild(tbl);
 
					// sets the border attribute of tbl to 1;
						tbl.setAttribute("border", "1");
 
						}		
				}
 
				xhr.open("GET","fstatus.php",true);
				xhr.send(null);
			}
function delRow(){
	var i= this.parentNode.parentNode.rowIndex;
	document.getElementById('table').deleteRow(i);
}
   </script>
le formulaire et un petit code PHP pour imprimer le $_POST

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
<body >
 
<?php
if (isset($_POST['Enter'])){
        print_r($_POST);
}
 
?>
 
<h1> Create an Item </h1>
<form method="post" action="func.php">
	<table align="center" border = "2" cellspacing ="0" cellpadding="3" id="table"> 
		<tr><td><b>Functionality Name:</b></td> <td><b>Description:</b></td> <td><b>Status:</b></td> <td><input type="button" Name= "Ajouter" Value="Ajouter" onclick="go()"></td></tr>
 
	</table>	
<input type="submit" name="submit" value="Enter">
</form> 
</body>
ce que je souhaite faire c'est recuperer les $_POST['fname_ind'] par example ou fname_ind est la zone de texte qui est dans la premiere cellule de la ligne ind=row.rowIndex.
car si je ne me trompe pas, les objects DOM sont bien dans mon formulaire.

mais quand je clique sur mon bouton submit, c'est comme si $_POST etait vide. mm $_POST['Enter'] ne s'affiche pas.

Merci d'avance pour votre aide