Changement dynamique des données

Jarnec Messages postés 9 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 15 avril 2013 - 3 août 2012 à 09:29
xranto Messages postés 90 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 31 mars 2014 - 17 août 2012 à 10:57
Bonjour à tous

je souhaiterais obtenir une aide en deux points:

1/
comment changer les infos de la deuxieme selection a partir du premier choix
si on choisi creation de site le second choix doit contenir seulement les choix SITE 1 ET SITE 2
si on choisi creation de logiciel le second choix doit contenir seulement les choix Logiciel 1 ET logiciel 2



<form action="contact.php" method="post">
Votre demande :

  <label>
    <select>
      <option>creation de site web</option>
      <option>creation de logiciel</option>
        </select>
      </label>
    


choisissez la formule : (les infos d'ici doivent changer en fonction de la selection précédente)

  <label>
    <select>
        <option>SITE web1</option>
          <option>SITE web2</option>
      <option>logidiel1</option>
          <option>logidiel2</option>
      
        </select>
      </label>











</form>


2/
Comment faire pour que en fonction des choix effectué, le message ne contienent seulement que les champs selectionné

toute aide sera la bien venu
Merci d'Avance

2 réponses

Utilisateur anonyme
4 août 2012 à 20:08
Salut,

Tu as plusieurs façons de faire. Tu peux choper des valeurs à partir d'une BDD en AJAX, sauf que là visiblement tu as mis toutes tes valeurs en dur. L'idée, c'est que tu définisses une fonction en JavaScript qui va être appelée lorsqu'on va utiliser ta première liste. Cette fonction devra récupérer la valeur selectionnée, et en fonction de ça va remplir ton autre liste. Tu utilises un framework particulier style jQuery ou MooTools, ou tu fais tout en JavaScript classique ?

Pour ce qui est de ton deuxième point, je n'ai rien compris.

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
xranto Messages postés 90 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 31 mars 2014
17 août 2012 à 10:57
Bonjour,

Pylouq a raison, mettre les valeurs en dur n'est pas une très bonne idée.
Mais puisque c'est déjà comme ça, voici une solution

<script type="text/javascript">
function show_web(sender){
var web = new Array();
var log = new Array();
var i;
web = document.getElementsByClassName("web");
log = document.getElementsByClassName("log");
if (sender.value == "web"){
for(i=0;i<web.length;i++){
web[i].style.display = "block";				
}
for(i=0;i<log.length;i++){				
log[i].style.display = "none";					
}
}else{
for(i=0;i<web.length;i++){			
web[i].style.display = "none";				
}
for(i=0;i<log.length;i++){
log[i].style.display = "block";			
}
}
}

</script>


<form action="contact.php" method="post">
Votre demande :

  <label>
<select onChange="show_web(this)">
  <option value="web">creation de site web</option>
  <option value="log">creation de logiciel</option>
</select>
  </label>


choisissez la formule : (les infos d'ici doivent changer en fonction de la selection précédente)

  <label>
<select>
<option class="web">SITE web1</option>
<option class="web">SITE web2</option>
<option class="log">logidiel1</option>
<option class="log">logidiel2</option>
  
</select>
  </label>











</form>


Ce code fonctionne mais il faut l’améliorer. Le filtre n'est pas appliqué.
C'est juste une idée. A toi de continuer.
0
Rejoignez-nous