Bonjour ,

Je me heurte � un nouveau probl�me que voici :

Je suis en train de cr�er une page o� je g�re l'ajout et la suppression de ligne dans un tableau (physique) via DOM.
J'ai une partie du tableau qui est statique et une autre partie du tableau o� je peux ajouter des lignes et les supprimer. Ca j'arrive � le faire il n'y a pas de soucis.

Pour ma partie dynamique, j'associe les valeurs de mes champs � un tableau "associatif".

J'essaie de supprimer une ligne de ce tableau mais sans succ�s...

Voici mon code :
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
function addParam() {
	if (tableParam == null)
		tableParam = new Array();
 
	var indice = tableParam.length;
	alert('indice : '+indice);
	tableParam[indice] = new Array();
	tableParam[indice]["name"] = "name"+indice;
	tableParam[indice]["env"] = "env"+indice;
	tableParam[indice]["serv"]= "serv"+indice;
	tableParam[indice]["meth"]= "meth"+indice;
	tableParam[indice]["input"]= "input"+indice;
	tableParam[indice]["exp"]= "exp"+indice;
	tableParam[indice]["timeout"]= "timeout"+indice;
 
	var text = "";
	for (var i=0;i<tableParam.length;i++) {
		text += "tableParam "+i+"\n\n";
 
		for (var propriete in tableParam[i])
			text += propriete + " : "+tableParam[i][propriete]+"\n";
 
		alert(text);
		text = "";
	}
}
 
function removeAdd(bouton) {
	var node = bouton.parentNode.parentNode;
	var parent = node.parentNode;
	parent.removeChild(node);
 
	alert('node : '+node.id+', taille tableParam : '+tableParam.length);
 
	//Méthode 1
	//delete tableParam[node.id];
 
	//Méthode 2
	//tableParam.splice(node.id, node.id);
 
	//Méthode 3
	/*
	for (i = node.id; i < tableParam.length; i++) {
		alert('tableParam[i] : '+tableParam[i]+', tableParam[i+1] : +tableParam[i+1]);
		tableParam[i] = tableParam[i+1];
	}
	tableParam.pop();
	*/
 
	var text = "";
	for (var i=0;i<tableParam.length;i++) {
		text += "tableParam "+i+"\n\n";
 
		for (var propriete in tableParam[i])
			text += propriete + " : "+tableParam[i][propriete]+"\n";
 
		alert(text);
		text = "";
	}
}
La m�thode 1 est celle qui fonctionne le mieux je dirai... Elle ne me supprime pas r�ellement la ligne mais me vide le contenu du "sous-tableau", par contre quand je supprime une ligne, que j'en ajoute une etc. les indices sont d�cal�s et mes suppressions ne fonctionnent plus...

La m�thode 2 qui m'avait l'air pas mal, car d'apr�s ce que j'ai vu sur le net, pas besoin de red�caler � chaque fois, mais �a ne fonctionne pas vraiment...

La m�thode 3 ne conna�t pas une grande r�ussite non plus...

comment dois-je m'y prendre ?