Problème de création de liste déroulante JS

boup' Messages postés 4 Statut Membre -  
boup' Messages postés 4 Statut Membre -
Bonjour, excusez moi de vous déranger Mais je suis débutant en Javascript et je recherche à créer dynamiquement des listes déroulantes à partir d'un bouton et alimenter mes options et leurs values grâce à ma base de donnée.

Je suis partit de plusieurs script pour essayer d'obtenir un résultat mais sans succès =(

Je vous donne mon code qui est incomplet vu que je suis bloqué au niveau de mes options :



<html>
   <head>
      <title>ajout de liste déroulante</title>
      <script type="text/javascript">
          var compteur = 0;
         function ajouter(){
            // Je récupère le fieldset
            var conteneur   = document.getElementById('fichiers');
            compteur++;
            // Je crée les éléments que j'ai besoin :
            var div = document.createElement('div');
            var select = document.createElement('select');
            var option = document.createElement('option');

            // J'attribue des valeurs à se que j'ai créé:
            select.name   = 'acteur[]';

            // c'est la que j'ai un problème =( 
            // comment puis-je donné une value alimentée par ma base de donnée à mon option  ?

            // J'applique les élément que j'ai créé
            div.appendChild(select);
            div.appendChild(option);




            // Ajout du div :
            conteneur.appendChild(div);

            // récupération du nombre de liste généré pour l'enregistrement 
            document.forms["formulaire"].elements['cache'].value=compteur;
         }
         
      </script>
   </head>
   <body>
      <form name="formulaire" action='traitement.php' method='post'>
         <fieldset id='fichiers'>
            <legend>Fichiers</legend>
            <input type='button' value='Ajouter un fichier' onclick='ajouter()' /><br />
         </fieldset>
       <input type="hidden" name="cache" />
       <input type='submit' value='enregistrer'/>  
      </form>
   </body>
</html>


Pour avoir un exemple précis de se que je désire avoir comme résultat en html :

<select name="acteur[]">
        <option value ="id_acteur">nom_acteur</option>
</select>


je n'ai pas mis de php .. mais id_acteur et nom_acteur sont alimenter dans mon code grâce à ma base de donnée c'est juste pour vous donné un exemple plus ou moins précis du résultat voulu

si quelqu'un peut m'éclairer sur le sujet ça m'aiderais énormément =)

merci beaucoup et bonne soirée =)
A voir également:

4 réponses

dodoecchi Messages postés 480 Statut Membre 29
 
soit tu charges les données de ta base de donnée avant la liste, tu injectes pendant sa création : programmation côté serveur tel que php
soit tu va chercher dynamiquement : ajax (du javascript en gros) + encore un script côté serveur

tu peux pas manipuler les bases de données en javascript, que celà soit bien clair :)
0
boup' Messages postés 4 Statut Membre
 
je veux juste savoir comment je peu attribuer une value à l'option que je viens de créé en javascript

se que j'ai besoin c'est d'avoir se résultat la en html:

<select>
  <option value="[ 1er élément qui me manque]">[2ième élément qui me manque]</option>
</select>
0
dodoecchi Messages postés 480 Statut Membre 29
 
paramètres dans ta fonction
function (param1, param2)
{
document.nom_du_formulaire.nom_de_l'option.value = param1;
et après pareil avec .innerHTML = param2;
}

un truc comme ça tu veux?
0
boup' Messages postés 4 Statut Membre
 
quand je lance ma page html

j'ai un fieldset avec un bouton" ajouter un fichier"
quand je clique dessus j'obtien une ou plusieurs liste(s) déroulante(s) mais elle(s) est(sont) vide =(

comment je peux faire, dans le code que j'ai écrit au dessus, pour leurs attribuer une value ?

pour obtenir en html quand je clique sur le bouton" ajouter un fichier" une liste déroulante comme celle ci dessous

<select name="acteur[]">
<option value ="1">blablabla</option>
<option value ="2">gnagnagna</option>
</select>
0
dodoecchi Messages postés 480 Statut Membre 29
 
pourquoi faire complexe quand on peut faire simple??
non mais...

si l'utilisateur de ta page cliques sur le bouton, il clique. point barre.
donc il n'y a aucun raison de modifier à ce moment précis le contenu des tes listes avec du javascript
tu le prévois à l'avance, t'a qu'a le mettre dans un div invisible que tu affichera ensuite

j'ai aidé qqun pour afficher/masquer un div :
http://www.commentcamarche.net/forum/affich 12569792 petite aide javascript svp?#1

Dorian
0
boup' Messages postés 4 Statut Membre
 
ok =) je vais envisager une autre solution pour mes listes

Merci pour ton aide =)
0