Bonjour,

J'ai fait un formulaire d'envoi de mail avec fichiers attachés. Les fichiers attachés sont ajouté dynamiquement dans le formulaire. On peut également en supprimer. Mon problème est que lorsqu'un fichier est supprimé, la fonction d'ajout ne fonctionne plus ensuite.

code javascript :
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
 
i = 1; 
textLink = new Array(); 
supprimer = new Array(); 
 
function addFile(file) 
{ 
j = i-1; 
fichier_existe = 0; 
 
if (j > 0) 
{ 
for (x = 0; x < j; x++) 
{ 
if (document.getElementById("Fichier" + x).value == file) 
{ 
alert('Ce fichier est déjà ajouté'); 
fichier_existe = 1; 
document.getElementById("Fichier" + j).value = ""; 
break; 
}; 
}; 
}; 
 
if (fichier_existe == 0) 
{ 
document.getElementById("Fichier" + j).style.display = "none"; 
 
d2 = document.getElementById("attTr2"); 
d1 = document.getElementById("attTr1"); 
iTd2 = document.createElement("td"); 
iTd1 = document.createElement("td"); 
iTd2.setAttribute("valign","top"); 
iTd1.setAttribute("valign","top"); 
iTd1.setAttribute("align","center"); 
iTd1.setAttribute("width", 120); 
textLink[j] = document.getElementById("Fichier" + j).value.substr(document.getElementById("Fichier" + j).value.lastIndexOf("\\") + 1); 
supprimer[j] = "Voulez-vous supprimer le fichier " + textLink[j] + " ?"; 
 
// For Internet Explorer 
try { 
newAttach = document.createElement("<input type='file' id='Fichier" + i + "' name='Fichier[]' onChange='Javascript: addFile(this.value);' />"); 
newLink = document.createElement("<a id='lien" + j + "' href='Javascript:void(0)' title='Supprimer " + textLink[j] + "' onClick='Javascript: if (confirm(supprimer[" + j + "])) {delFile(" + j + ");}'></a>"); 
newLink.appendChild(document.createTextNode(textLink[j])); 
 
}; 
// For other browsers 
catch (e) { 
newAttach = document.createElement("input"); 
newAttach.setAttribute("type","file"); 
newAttach.setAttribute("id","Fichier" + i); 
newAttach.setAttribute("name","Fichier[]"); 
newAttach.setAttribute("onChange","Javascript: addFile(this.value);"); 
newLink = document.createElement("a"); 
newLink.setAttribute("id","lien" + j); 
newLink.appendChild(document.createTextNode(textLink[j])); 
newLink.setAttribute("href","javascript:void(0)"); 
newLink.setAttribute("title","Supprimer " + textLink[j]); 
newLink.setAttribute("onClick", "Javascript: if(confirm(supprimer[" + j + "])) {delFile(" + j + ");}"); 
}; 
 
iTd1.appendChild(newLink); 
d1.appendChild(iTd1); 
iTd2.appendChild(newAttach); 
d2.insertBefore(iTd2,d2.childNodes[0]); 
 
i++; 
}; 
} 
 
function delFile(num) 
{ 
child2 = document.getElementById("Fichier" + num).parentNode; 
d2 = document.getElementById("attTr2"); 
d2.removeChild(child2); 
 
child1 = document.getElementById("lien" + num).parentNode; 
d1 = document.getElementById("attTr1"); 
d1.removeChild(child1); 
 
i--; 
}
et la partie html concernant l'ajout de fichiers :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
echo ' <TBODY>'."\n"; 
echo ' <TR valign="top" align="left" height=40 id="attTr1">'."\n"; 
echo ' <TD width=120 align="left" valign="top"><label for="Fichier"><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=2>Fichiers attachés :</FONT></label></TD>'."\n"; 
echo ' </TR>'."\n"; 
echo ' <TR valign="top" height=40 id="attTr2">'."\n"; 
echo ' <TD width=1 align=left valign="top">'."\n"; 
echo ' <input type="file" id="Fichier0" name="Fichier[]" onChange="Javascript: addFile(this.value);" />'."\n"; 
echo ' </TD>'."\n"; 
echo ' </TR>'."\n"; 
echo ' </TBODY>'."\n"; 
echo ' </TABLE>'."\n";

Je ne vois pas trop ce qu'il peut se passer, si quelqu'un a une idée...
Merci d'avance