Probleme menu déroulant

Probleme menu déroulant - HTML/CSS - Programmation

Marsh Posté le 16-06-2009 à 21:03:39    

Bonjour,  
 
je souhaite un menu déroulant dans mon site. J'ai donc pris sur le net le script qu'une bonne ame a bien voulu donner
http://www.infos-du-net.com/forum/ [...] -deroulant
 
Ce script marche si je fais quelque chose de simple comme cela :  
 

Code :
  1. <!-- DEBUT DU SCRIPT MENU DEROULANT-->
  2. <p><form NAME="menu">
  3. <div align="center"><center><p>
  4. <select NAME="popup"
  5. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  6. <option VALUE>- Biochimie -</option>
  7. <option VALUE="index.html"> -index</option>
  8. </select>
  9. <select NAME="popup"
  10. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  11. <option VALUE>- Microbiologie -</option>
  12. <option VALUE="acceuilcalculs.html"> -calculs </option>
  13. </select>
  14. </p> 
  15. </center></div>
  16. </form>
  17. <script>
  18. function change_site() {
  19. var site = document.menu.popup.selectedIndex;
  20. {
  21. window.location.href =
  22. document.menu.popup.options[site].value;
  23. }
  24. }
  25. </script>
  26. </p>
  27. <!-- FIN DU SCRIPT MENU DEROULANT-->


 
Sous Wampserver, quand je click sur le "index" de mon menu déroulant, il m'amene bien à ma page index.html (je crois l'avoir testé en ligne aussi et ca marche, avec ke bon chemin d'acces biensur)
 
Cependant je souhaite créer sur la meme ligne plusieurs menu déroulant, j'ai donc modifier mon code comme ceci :  
 

Code :
  1. <!-- DEBUT DU SCRIPT MENU DEROULANT-->
  2. <p><form NAME="menu">
  3. <div align="center"><center><p>
  4. <select NAME="popup"
  5. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  6. <option VALUE>- Biochimie -</option>
  7. <option VALUE="index.html"> -index</option>
  8. </select>
  9. <select NAME="popup"
  10. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  11. <option VALUE>- Microbiologie -</option>
  12. <option VALUE="acceuilcalculs.html"> -calculs </option>
  13. </select>
  14. </p> 
  15. </center></div>
  16. </form>
  17. ... blablabla


 
Le fait de rajouter ce nouvel onglet déroulant me fait tout péter : quand je click sur le "index" qui marchait tout a l'heure, la il ne marche plus...
 
Quel erreur de synthaxe ai je fais ? Ou bien le script n'est pas adapté pour plusieurs onglets déroulant ?  
 
Merci

Reply

Marsh Posté le 16-06-2009 à 21:03:39   

Reply

Marsh Posté le 16-06-2009 à 22:51:49    

Bon, je viens d'apporter des modifs, j'ai reussi a faire marche mais avec un gros bug, donc pour les connaisseurs je pense que vous verrez vite l'erreur (moi j'connais pas trop le javascript...)
 

Code :
  1. <script>
  2. function change_site() {
  3. var site = document.menu1.popup.selectedIndex;
  4. {
  5. window.location.href =
  6. document.menu1.popup.options[site].value;
  7. }
  8. </script>
  9. <script>
  10. function change_site() {
  11. var site = document.menu2.popup.selectedIndex;
  12. {
  13. window.location.href =
  14. document.menu2.popup.options[site].value;
  15. }
  16. }
  17. </script>
  18. <p><form NAME="menu1">
  19. <div align="center"><center><p>
  20. <select NAME="popup"
  21. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  22. <option VALUE>- test -</option>
  23. <option VALUE="acceuilcalculs.html"> -test1</option>
  24. </select>
  25. </p> 
  26. </center></div>
  27. </form>
  28. <form NAME="menu2">
  29. <div align="center"><center><p>
  30. <select NAME="popup"
  31. onChange="change_site();" style="background-color:teal; color:yellow" size="1">
  32. <option VALUE>- test -</option>
  33. <option VALUE="acceuilcalculs.html"> -test2</option>
  34. </select>
  35. </p> 
  36. </center></div>
  37. </form>


 
Donc la j'ai créé 2 onglets de menu deroulant avec 1 script chacun, et le seul qui marche et celui dans la form "menu2".  
 
Mais je me suis apercu que si dans mon code source je fait passer le <script> du menu1 apres celui du menu2, seul mon menu deroulant test1 marche.
 
Donc en gros, seul mon dernier <script> est pris en compte. Comment faire pour que les 2 marchent ? Merci

Reply

Marsh Posté le 16-06-2009 à 23:39:22    

salut,
 
c'est normal tu ne peux pas déclarer 2 fonction portant le même nom...
 
un truc qui devrait marcher serait ceci:

Code :
  1. <script>
  2. function change_site(menuselect) {
  3. var site = menuselect.selectedIndex;
  4. {
  5. window.location.href =
  6. menuselect.options[site].value;
  7. }
  8. </script>
  9. <p><form NAME="menu1">
  10. <div align="center"><center><p>
  11. <select NAME="popup"
  12. onChange="change_site(this);" style="background-color:teal; color:yellow" size="1">
  13. <option VALUE>- test -</option>
  14. <option VALUE="acceuilcalculs.html"> -test1</option>
  15. </select>
  16. </p> 
  17. </center></div>
  18. </form>
  19. <form NAME="menu2">
  20. <div align="center"><center><p>
  21. <select NAME="popup"
  22. onChange="change_site(this);" style="background-color:teal; color:yellow" size="1">
  23. <option VALUE>- test -</option>
  24. <option VALUE="acceuilcalculs.html"> -test2</option>
  25. </select>
  26. </p> 
  27. </center></div>
  28. </form>


 

Reply

Marsh Posté le 17-06-2009 à 19:43:58    

Salut, j'avais testé autre chose entre temps, mais c'est relativement semblable, et ca marche :
 

Code :
  1. <script>
  2. function change_site(obj) {window.location.href = obj.options[obj.selectedIndex].value; }
  3. </script>
  4. <p><form NAME="menu1">
  5. <div align="center"><center><p>
  6. <select NAME="popup"
  7. onChange="change_site(this);" style="background-color:teal; color:yellow" size="1">
  8. <option VALUE>- test -</option>
  9. <option VALUE="acceuilcalculs.html"> -test1</option>
  10. </select>
  11. </p> 
  12. </center></div>
  13. </form>
  14. <form NAME="menu2">
  15. <div align="center"><center><p>
  16. <select NAME="popup"
  17. onChange="change_site(this);" style="background-color:teal; color:yellow" size="1">
  18. <option VALUE>- test -</option>
  19. <option VALUE="acceuilcalculs.html"> -test2</option>
  20. </select>
  21. </p> 
  22. </center></div>
  23. </form>


 
Merci quand meme pour ton aide !
 
RESOLU

Reply

Marsh Posté le 18-06-2009 à 11:01:45    

peux-tu éditer ton premier post pour mettre [RESOLU] dans le titre stp?

Reply

Marsh Posté le 16-11-2009 à 18:27:15    

Ah non, c'est pas du tout résolu car il me faut pas du javascript :( . Si je devais le faire en java ca serait fait depuis un baille :p . Mais la il me faut uniquement du html + css pour eviter les problèmes liés au javascript (active X a telecharger quand on nouvel utilisateur ouvre la page, ou un truc comme ca).  
 
Donc merci bien, mais serait il possible de ne pas mettre de javascript dans vos solutions ? :)

Reply

Marsh Posté le 16-11-2009 à 19:25:50    

edit :  
 
je me susi trompé !!!! Ne repondez plus a ce message, mais a celui présent un peu plus bas. Je ne veux plus le contruire en javascrip.  
 
Voir le POST "probleme pour faire sortir le menu deroulant sur la droite", c'est celui la que je veux :p
 
merci

Reply

Sujets relatifs:

Leave a Replay

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