Accueil > Forum > > > > Pb ajout dynamique input dans formulaire
Pb ajout dynamique input dans formulaire
dimanche 22 février 2009 à 15:04:07 |
Pb ajout dynamique input dans formulaire

tophe03
|
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 :
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 :
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 pourquoi ce qu'il peut se passer, si quelqu'un a une idée... Merci d'avance
|
|
dimanche 22 février 2009 à 15:54:08 |
Re : Pb ajout dynamique input dans formulaire
|
dimanche 22 février 2009 à 18:41:39 |
Re : Pb ajout dynamique input dans formulaire

tophe03
|
Bonjour, Et merci pour ta réponse mais c'est pas ce recherche en fait. Voici ce que j'ai fait : lorsqu'on choisi un fichier, le nom de fichier apparait sous forme de lien. Le input disparait et un nouveau apparait. Lorsqu'on clique sur le lien créé, on supprime le fichier. Jusque là, tout fonctionne. Mais lorsqu"un fichier a été supprimé, la fonction d'ajout ne fonctionne plus. 
|
|
lundi 23 février 2009 à 10:32:43 |
Re : Pb ajout dynamique input dans formulaire

Bul3
|
__ c'est exactement ce que fais le script dans le lien et quand on supprime un fichier, ça continue à marcher __ tu utilises setAttribute, et ça ne fonctionne pas de la même manière avec tous les navigateurs
|
|
lundi 23 février 2009 à 23:21:42 |
Re : Pb ajout dynamique input dans formulaire

tophe03
|
Salut
J'ai résolu le problème. C'était juste un problème d'indices qui se posait après suppression de fichiers. Concernant le setAttribute, je sais que ca ne fonctionne pas avec les évènements sur IE. Merci pour tes réponses
|
|
Cette discussion est classée dans : fichier, document, echo, getelementbyid, setattribute
Répondre à ce message
Sujets en rapport avec ce message
sauce light pour fichier js [ par tonytruand ]
Bonjour, Un tuyau SVP, à partir d'un formulaire, et en fonction des choix exprimés, je rapatrie des informations diverses grâce au : if (document.getE
imbriquer des fonctions [ par tonytruand ]
Bonjour;N'ayant jamais été déçu de vos réponses, je me permets d'en poser une nouvelle . J'ai une fonction qui balaie des ARRAY avec i++, le problème
DOCUMENT.WRITE [ par tonytruand ]
Bonjour à tous!,J'ai besoin de votre aide car je ne comprends pas tout. j'ai fait en javscript un petit support de recherche.Le principe : j'ai une ba
getElementById dans <div> imbriquées [ par jesus_is_my_homeboy ]
Bonjour,j'ai un fichier xhtml comme ceci : <br /
probleme de mise en forme avec insertion balise [ par G4uthier ]
Bonjour, voila mon probleme, je voudrais inserer des nouveaux champs de formulaire comme ceci: :Property Image Grace a ma fonction javascript mais
OnChange sur liste déroulante! [ par Daroude29 ]
Bonjour,Voilà, j'ai un petit soucis avec l'utilisation d'un onChange sur un select, voici le code :dans fichier1.php j'ai le code de la fonction javas
pb Ajax:récupérer la réponse du serveur [ par rochdiforum ]
Bonjour,j'ai un probleme AjaxMon but est de faire la gestion de login en javascript, j'arrive parfaitement à passer les valeurs des champs au fichier
Document.getElementById(strId3).innerHTML = req; Problème avec IE [ par mlinux ]
Bonjour,J'ai un petit script AJAX qui fonctionne avec Firefox et Safari et ne fonctionne pas avec Internet Explorer IE 8 et IE 8.[code]/**************
Faire un bouton pour supprimer des input dynamique (removeChild) [ par hAdEsS ]
Bonjour à tous,j'ai trouvé un petit scrit qui me permet d'ajouter des inputs à mon formulaire.Actuelement un lien est généré à coté des input créés.To
Question de tout débutant [ par slhuilli ]
Bonsoir,Je suis tout debutant en javascript et j'essaie de faire un truc tres bête : j'ai besoin de calculer les KCalories d'un element à partir de 3
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|