Eléphant du PHP |
138 Messages
22 juil. 2005, 19:52
Salut
malgré le fait que le javascript soit horripilant ( ce qui est vrai ), il y a toujours une solution:
en voici une, on va utiliser la propriété innerHMTL des éléments et en particulier sur un div:
1_ créer un DIV vide:
2_créer une fonction javascript qui sera appelée sur un onload dans le body:
//on cree un tableau pour récuperer les variables et re-remplir les champs ensuite
resultat = new Array();
function ajout_file(nbchamp){
// ici on initialise une variable qui sera le contenu du div
var contenu="";
//boucle pour recréer les champs
for(i=0 ; i < nbchamp; i++){
if(i == nbchamp-1){
contenu +='<input type="file" name="fichier'+i+'" value="'+resultat[i]+'" onchange="javascript: resultat['+i+']= this.value; ajout_file('+(nbchamp+1)+')" /><br/>'; //si c'est le dernier champ ajoute la fonction java
}else{
contenu +='<input type="file" name="fichier'+i+'" value="'+resultat[i]+'" onchange="javascript: resultat['+i+']= this.value;"/><br/>'; //sinon on ajoute juste le champ
}
}
//test pour voir ce qu'ecrit la fonction (a effacer ensuite)
prompt("",contenu);
//ici on envoie notre contenu dans le div
document.getElementById('zone_file').innerHTML = contenu ;
}
Bon ça fonctionne pour ajouter les champs et garder les valeurs. Le seul hic que je n'arrive pas à régler:
c'est que j'arrive à introduire le contenu dans l'attribut value de l'input file mais ça n'apparait pas à l'affichage, et ça me fais ch...
Et là je rejoins Guakamol des fois le javascript on a envie de

Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)