begin process at 2012 05 29 14:43:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Pb ajout dynamique input dans formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Bul3

Membre Club
bonjour,
un exemple ici qui fonctionne
Cordialement
[mon Site][M'écrire]Bul

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

Membre Club
__ 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales