Se connecter avec
S'enregistrer | Connectez-vous

Modifier formulaire d'upload multiple avec ajout dynamique des champs

Dernière réponse : dans Programmation

bonjour, je souhaiterais modifier ce script (http://javascript.developpez.com/sources/?page=forms#up...) afin de mettre des listes déroulantes à la place des zones texte. j'ai bien essayer, mais j'arrive pas.

  1. <html>
  2. <head>
  3. <title>Utilisation du dom</title>
  4. <script type="text/javascript">
  5. var compteur = 0;
  6. function ajouter(){
  7. // On récupère le fieldset
  8. var conteneur = document.getElementById('fichiers');
  9. /**
  10. * Création des éléments dont on a besoin :
  11. * Un div dans lequel on mettra notre champ file et une case à cocher
  12. * qui nous servira à enlever ensuite le div.
  13. *
  14. * En utilisant un div ça sera plus facile car sinon
  15. * on aurais du enlever le champ file et la case à cocher séparément.
  16. */
  17. var undiv = document.createElement('div');
  18. var fich = document.createElement('input');
  19. var check = document.createElement('input');
  20.  
  21. fich.name = 'mesfichiers[]';
  22. fich.type = 'file';
  23.  
  24. check.type = 'checkbox';
  25.  
  26. // On enlève sur le click de la checkbox
  27. check.onclick = function(){
  28. // Elément à enlever
  29. lediv = this.parentNode;
  30. // Elément auquel on enlève
  31. lefieldset = lediv.parentNode;
  32. // On enlève !
  33. lefieldset.removeChild(lediv);
  34. }
  35.  
  36. /**
  37. * Ajout des éléments au div grace a appendChild
  38. * qui ajoute à la fin.
  39. * On utilise aussi createTextNode pour ajouter du texte apres la case
  40. */
  41. undiv.appendChild(fich);
  42. undiv.appendChild(check);
  43. undiv.appendChild(document.createTextNode("Enlever"));
  44.  
  45. // Ajout du div :
  46. conteneur.appendChild(undiv);
  47. }
  48. </script>
  49. </head>
  50. <body>
  51. <form action='mapage.php' method='post' enctype='multipart/form-data'>
  52. <fieldset id='fichiers'>
  53. <legend>Fichiers</legend>
  54. <input type='button' value='Ajouter un fichier' onclick='ajouter()' /><br />
  55. </fieldset>
  56. </form>
  57. </body>
  58. </html>


merci à vous

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte