Actualisation automatique d'une liste déroulante

Actualisation automatique d'une liste déroulante - HTML/CSS - Programmation

Marsh Posté le 02-05-2002 à 09:23:59    

J'au une question mais je ne sais pas si cela se fais en JS ou si ca peut se faire en php aussi.  
 
Donc voila  
 
J'ai 2 menu deroulant (select).  
Je voudrais que lorsque je fais un choix dans le menu deroulant 1, il affiche des champs differents dans le menu deroulant 2 en fonction du choix fais le menu deroulant 1. et tous cela bien sur avec un refresh auto (avec onChange non?)

 

[jfdsdjhfuetppo]--Message édité par phive le 02-05-2002 à 11:05:42--[/jfdsdjhfuetppo]


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 09:23:59   

Reply

Marsh Posté le 02-05-2002 à 09:55:02    

Reply

Marsh Posté le 02-05-2002 à 10:18:10    

Merci
mais en fait cela ne m'aide pas trop vu que je n'est pas de base de donnée derriere...enfin pas pour le moment


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 11:09:39    

Personne pour me filer un coup de main siouplait
 
 
Je vous donne ce que je veux faire.  
 
C'est pour une recherche:  
Mon premier menu deroulant a 2 choix => Type et theme.  
Mon second menu deroulant doit etre affiche dynamikement en fonction du choix du premier donc si  
Type => rapport,compte-rendu,dossier  
theme => entreprise,commune,finances,budget,environnement


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 11:27:19    

pas de php ? pas de BD ?
"aficher source" pour voir le code javascript pure...
 
<SCRIPT LANGUAGE="JavaScript">
function ModifierListe(code_item) {
  lg = document.frmDemo1.zlItem.length;
   
  // On vide la liste
  for (i = lg - 1; i >= 0; i--) {
    document.frmDemo1.zlItem.options[i] = null;
  }
     
  code_rub = document.frmDemo1.zlRubrique.selectedIndex;
 
  if (document.frmDemo1.zlRubrique.options[code_rub].value == 1) {
    document.frmDemo1.zlItem.length = 4;
    document.frmDemo1.zlItem.options[0].value = 2;
    document.frmDemo1.zlItem.options[0].text  = "ASP";
    if (code_item == 2) document.frmDemo1.zlItem.options[0].selected = true;
    document.frmDemo1.zlItem.options[1].value = 4;
    document.frmDemo1.zlItem.options[1].text  = "C++";
    if (code_item == 4) document.frmDemo1.zlItem.options[1].selected = true;
    document.frmDemo1.zlItem.options[2].value = 3;
    document.frmDemo1.zlItem.options[2].text  = "JavaScript";
    if (code_item == 3) document.frmDemo1.zlItem.options[2].selected = true;
    document.frmDemo1.zlItem.options[3].value = 1;
    document.frmDemo1.zlItem.options[3].text  = "PHP";
    if (code_item == 1) document.frmDemo1.zlItem.options[3].selected = true;
  }
  if (document.frmDemo1.zlRubrique.options[code_rub].value == 2) {
    document.frmDemo1.zlItem.length = 5;
    document.frmDemo1.zlItem.options[0].value = 8;
    document.frmDemo1.zlItem.options[0].text  = "FreeBSD";
    if (code_item == 8) document.frmDemo1.zlItem.options[0].selected = true;
    document.frmDemo1.zlItem.options[1].value = 5;
    document.frmDemo1.zlItem.options[1].text  = "Linux";
    if (code_item == 5) document.frmDemo1.zlItem.options[1].selected = true;
    document.frmDemo1.zlItem.options[2].value = 7;
    document.frmDemo1.zlItem.options[2].text  = "Mac OS X";
    if (code_item == 7) document.frmDemo1.zlItem.options[2].selected = true;
    document.frmDemo1.zlItem.options[3].value = 9;
    document.frmDemo1.zlItem.options[3].text  = "Unix";
    if (code_item == 9) document.frmDemo1.zlItem.options[3].selected = true;
    document.frmDemo1.zlItem.options[4].value = 6;
    document.frmDemo1.zlItem.options[4].text  = "Windows";
    if (code_item == 6) document.frmDemo1.zlItem.options[4].selected = true;
  }
  if (document.frmDemo1.zlRubrique.options[code_rub].value == 3) {
    document.frmDemo1.zlItem.length = 3;
    document.frmDemo1.zlItem.options[0].value = 10;
    document.frmDemo1.zlItem.options[0].text  = "MySQL";
    if (code_item == 10) document.frmDemo1.zlItem.options[0].selected = true;
    document.frmDemo1.zlItem.options[1].value = 12;
    document.frmDemo1.zlItem.options[1].text  = "Oracle";
    if (code_item == 12) document.frmDemo1.zlItem.options[1].selected = true;
    document.frmDemo1.zlItem.options[2].value = 11;
    document.frmDemo1.zlItem.options[2].text  = "PostgreSQL";
    if (code_item == 11) document.frmDemo1.zlItem.options[2].selected = true;
  }
       
}  
 
</SCRIPT>
 
 
<FORM METHOD=POST NAME='frmDemo1'><BR> <B>Rubriques</B>  <SELECT NAME='zlRubrique' onChange='ModifierListe(-1)'>
<OPTION VALUE='1'>Langage</OPTION>
<OPTION VALUE='2'>OS</OPTION>
<OPTION VALUE='3'>SGBD</OPTION>
</SELECT> 
 <B>Items</B>  <SELECT NAME='zlItem'>
<OPTION>--------------------</OPTION>
<OPTION>--------------------</OPTION>
<OPTION>--------------------</OPTION>
<OPTION>--------------------</OPTION>
<OPTION>--------------------</OPTION>
</SELECT> 
<SCRIPT LANGUAGE='JavaScript'>
ModifierListe(-1);
</SCRIPT>
<INPUT TYPE='submit' VALUE='Valider'>
</FORM>
 
fait preuve d'un peu d'initiative et de compréhension que diable ;)
 :hello:

Reply

Marsh Posté le 02-05-2002 à 13:27:51    

Bon je me permet de t'embeter encore un peu :)
 
car j'aime pas les truc que je ne c pas a quoi ca sert ;)
 
Donc
 
document.frmDemo1.zlItem.options[i] = null; => le options ca sert a koi comme fonction? car il est partout.
 
document.frmDemo1.zlItem.length = 4; => pkoi tu change toujours la taille
 
 
onChange='ModifierListe(-1)'=> pkoi -1?
 
 
fait preuve d'un peu d'initiative et de compréhension que diable => et ca voulait dire koi ? ;)
 
 
 
 
bn je vais tester mais ca devrait aller je pense
 
Merci

 

[jfdsdjhfuetppo]--Message édité par phive le 02-05-2002 à 13:43:58--[/jfdsdjhfuetppo]


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 13:46:31    

Donc voila j'ai adapter ton script a ce ke je voulais faire mais cela ne marche pas  :(  
pourrais tu me dire pkoi?
 
<SCRIPT LANGUAGE='JavaScript'>
function ModifierListe(code_item)
{
 lg = document.choix.choixB.length;
 
 // On vide la liste
 for (i = lg - 1; i >= 0; i--)
 {
   document.choix.choixB.options[i] = null;
 }
 
 code_rub = document.choix.choixA.selectedIndex;
 
 if (document.choix.choixA.options[code_rub].value == 1)
 {
   document.choix.choixB.length = 4;
   document.choix.choixB.options[0].value = 2;
   document.choix.choixB.options[0].text  = 'Rapport de réunion';
   if (code_item == 2) document.choix.choixB.options[0].selected = true;
   document.choix.choixB.options[1].value = 4;
   document.choix.choixB.options[1].text  = 'Rapport de conseil';
   if (code_item == 4) document.choix.choixB.options[1].selected = true;
   document.choix.choixB.options[2].value = 3;
   document.choix.choixB.options[2].text  = 'Rapport de la commission';
   if (code_item == 3) document.choix.choixB.options[2].selected = true;
   document.choix.choixB.options[3].value = 1;
   document.choix.choixB.options[3].text  = 'Divers';
   if (code_item == 1) document.choix.choixB.options[3].selected = true;
 }
 if (document.choix.choixA.options[code_rub].value == 2) {
   document.choix.choixB.length = 5;
   document.choix.choixB.options[0].value = 8;
   document.choix.choixB.options[0].text  = 'Communes';
   if (code_item == 8) document.choix.choixB.options[0].selected = true;
   document.choix.choixB.options[1].value = 5;
   document.choix.choixB.options[1].text  = 'Entreprise';
   if (code_item == 5) document.choix.choixB.options[1].selected = true;
   document.choix.choixB.options[2].value = 7;
   document.choix.choixB.options[2].text  = 'Budget';
   if (code_item == 7) document.choix.choixB.options[2].selected = true;
   document.choix.choixB.options[3].value = 9;
   document.choix.choixB.options[3].text  = 'Environnement';
   if (code_item == 9) document.choix.choixB.options[3].selected = true;
   document.choix.choixB.options[4].value = 6;
   document.choix.choixB.options[4].text  = 'General';
   if (code_item == 6) document.choix.choixB.options[4].selected = true;
 }
}
 
</SCRIPT>
 
 
 
<b><center><font color='#FF0000'>Vous n'avez pas les autorisations necessaire pour afficher cette page.<br>
Veuillez revenir à l'accueil !</font>
</center></b>
";
}
else{
echo"<center><h1>Documents du District</h1><br>
<table border='0' bgcolor='#CCCCCC' cellpadding='0' cellspacing='0' background='../graph/trame.gif' class='duf' width='80%'>
<form nethod='post' name='choix'>
<tr>
<td>
Rechercher par
</td>
<td colspan=2><select name='choixA' onChange='ModifierListe(-1)'>
         <option value='1'>type</option>
         <option value='2'>theme</option>
         </select>de documents
</td>
 
</tr>
<tr>
<td colspan=2 bgcolor='#CCCCCC'> </td>
</tr>
<tr>
<td>
Dans quel domaine
</td>
<td><select name='choixB'>
                   <option>Votre choix</option>
                   </select>
</td>
<td>
</td>
</tr>
<SCRIPT LANGUAGE='JavaScript'>
ModifierListe(-1);
</SCRIPT>


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 14:14:44    

qu'est-ce qui ne fonctionne pas ?
j'ai fait un copier coller et la liste est bien rafraichie...

Reply

Marsh Posté le 02-05-2002 à 14:18:41    

ethernal a écrit a écrit :

qu'est-ce qui ne fonctionne pas ?
j'ai fait un copier coller et la liste est bien rafraichie...  




 
tu as fais un copier coller du mien ou de ton script?


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 14:20:19    

de ton script.
il manque le </table>, mais je suppose que c'est une erreur de copier-coller.
 
sinon ça fct parfaitement (l'envoi je n'ai pas testé...)

Reply

Marsh Posté le 02-05-2002 à 14:20:19   

Reply

Marsh Posté le 02-05-2002 à 14:29:28    

oui le </form> et le </table> sont un oublie de copier coller.
 
Par contre ca me fais  :ouch:  que ca marche chez toi....
 
Moi y me dis "erreur sur la page" et donc le JS ne marche...
 
Grrr faut voir ke je tente mon script tt seul car en fait il est en plein milieu de page je v voir


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 14:33:37    

ha oui ca marche tt seul !!! sans les truc au tour  :ouch:  
 
dapres toi ca peut venir d'ou?


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 14:37:10    

MOUARf faut ke je me tire une balle c incroyable ca.
 
Je l'avais mis dans un if dans le kelle on ne pouvait pas aller car la conditon n'etais pas respecter !!!
 
je suis trop un naze LOL
 
Menfin merci bcp a toi ethernal  [:powa]


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 02-05-2002 à 14:38:57    

:lol: :lol:
de rien, ça peut toujours me servir aussi ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed