Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1268 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de lien avec une liste déroulante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de lien avec une liste déroulante

n°1442783
homersimp6​28
Posté le 15-09-2006 à 00:43:34  profilanswer
 

Bonsoir tout le monde.  
 
N'étant pas du tout informaticien mais devant créer un site web, je me retrouve bloqué par un souci technique pour rendre plus agréable la navigation pour l'utilisateur.  
Je m'explique:  
J'ai une liste de marques que j'aimerais proposer sous forme de liste déroulante, et où l'utilisateur sélectionnera la marque qu'il cherche dans la liste, et en cliquant sur "ok", je veux que la page web correspondant à cette marque se charge.  
Pour se faire, j'ai créé les pages correspondant à chaque marque sous la forme "marqueX.htm".  
Mon problème est que je ne sais pas du tout comment faire pour récupérer la valeur du formulaire "marque" et dire à mon navigateur de lancer la page "marqueX.htm" si l'utilisateur choisit "marqueX".  
 
J'espère que mon problème n'est pas trop confus, mais j'ai vraiment l'impression que la solution est toute bête mais je ne sais pas comment m'en sortir.  
En attendant j'ai crée un tableau avec toutes les marques, et l'utilisateur doit cliquer sur celle qu'il veut pour accéder à la page.  
 
 
D'avance merci pour votre aide.

mood
Publicité
Posté le 15-09-2006 à 00:43:34  profilanswer
 

n°1442789
olivthill
Posté le 15-09-2006 à 01:17:34  profilanswer
 

Il faut gérer l'événement onChange de la listbox.
Voir les exemples et les explications qui se trouvent http://www.acces-pour-tous.net/fic [...] javascript

n°1443035
homersimp6​28
Posté le 15-09-2006 à 14:27:30  profilanswer
 

Re et merci pour la rapidité de la réponse.
J'ai essayé et la méthode avec java script fonctionne, mais la 2ème méthode où il faut écrire un script (je pense qu'elle est meilleure car rien ne me dit que l'utilisateur aura javascript), j'ai un problème car quand je choisis une marque et clique sur envoyer, mon navigateur m'affiche le script php au lieu de la page désirée.
Je ne m'y connais pas vraiment et ne sais pas où il pourrait y avoir une erreur.
 

Citation :

<?php
switch($_POST['Liste']){
case "Renault":
header("Location: Renault\Renault.htm" );
break;
case "Peugeot":
header("Location: Peugeot\Peugeot.htm" );
break;
case "Citroen":
header("Location: Citroen\Citroen.htm" );
break;
default:
header("Location: offre.htm" );
}
?>


 
Voila le script tel que je l'ai enregistré et voila le fichier form1.js:
 

Citation :

var str='';
str+='<FORM>'
str+=' <select NAME=\"ListeUrl\" SIZE=1 onChange=\"ChangeUrl(this.form)\">'
str+=' <option selected="selected" value=\"\">-Marque-</option>'
str+=' <option value="Renault\Renault.htm">Renault</option>'
str+=' <option value="Peugeot\Peugeot.htm">Peugeot</option>'
str+=' <option value="Citroen\Citroen.htm">Citroen</option>'
 
str+=' </select>'
str+=' </FORM>'
document.write(str)


 
Et enfin le code sur ma page html:
 

Citation :

<head>
<title>Liste déroulante et javascript</title>
<script type="text/javascript" src="form1.js"></script>
<noscript>
<FORM method="POST" action="redirect.php">
<select NAME="Liste">
<option selected="selected" value="">-Marque-</option>
<option value="Renault">Renault</option>
<option value="Peugeot">Peugeot</option>
<option value="Citroen">Citroen</option>
 
<input type="submit" name="envoi" value="envoyer" />
</FORM></noscript>  
<body>


 
D'avance merci.

n°1443060
MagicBuzz
Posté le 15-09-2006 à 14:49:41  profilanswer
 

:heink:
 
1/ ton js ne sert à rien ici, puisque tu le fais le traîtement PHP
2/ il manque un  method="post"  dans ta ta balise <form> du coup
 
sinon, en js :
 

Code :
  1. <select id="marques">
  2.   <option value="/"></option>
  3.   <option value="marques/marque1.htm">Marque 1</option>
  4.   <option value="marques/marque2.htm">Marque 2</option>
  5.   ...
  6. </select>
  7. <input type="button" onclick="javascript:window.location.href = document.getElementById('marques').options[document.getElementById('marques').selectedIndex].value;" value="Ok"/>


Message édité par MagicBuzz le 15-09-2006 à 14:50:12
n°1443090
homersimp6​28
Posté le 15-09-2006 à 15:11:23  profilanswer
 

Le method="post" est déja sur ma page html non ?
Ou il faut l'ajouter aussi dans le script ?
 
Je ne sais vraiment pas quoi utiliser, en fait je voudrais que cette sélection fonctionne sur n'importe quel pc (c'est pour ça que j'aimerais éviter le javascript car rien que sur mon pc, il me demande l'autorisation de l'utiliser.).

n°1443093
MagicBuzz
Posté le 15-09-2006 à 15:12:42  profilanswer
 

ah oui, tu as raison.
 
en fait, ton JS ne sert à rien, je sais pas pourquoi tu l'as posté (et dedans, y'a pas de post)

n°1443094
MagicBuzz
Posté le 15-09-2006 à 15:14:07  profilanswer
 

arf, en fait c'est encore plus con.
 
ta variable en post contient la page, pas le nom de la marque.
 
donc ton script php :
 

Code :
  1. <?php
  2. header("Location: ".$_POST['Liste']);
  3. ?>


Message édité par MagicBuzz le 15-09-2006 à 15:14:17
n°1443097
MagicBuzz
Posté le 15-09-2006 à 15:15:30  profilanswer
 

PS: par contre, je te conseille de faire en plus du bouton
 

Code :
  1. <select name="Liste" onclick="document.forms[0].submit();">


 
Comme ça ceux qui ont le JS activé n'ont pas besoin de cliquer sur le bouton

n°1443103
homersimp6​28
Posté le 15-09-2006 à 15:20:42  profilanswer
 

Aïe c'est toujours pareil.
Moi qui pensais avoir compris quelque chose en PHP je me rends compte que je n'ai rien compris du tout lol.

n°1443113
MagicBuzz
Posté le 15-09-2006 à 15:28:21  profilanswer
 

bon, change ta page redirect de la façon suivante :
 

Code :
  1. <?php echo("Location: ".$_POST['Liste']);?>


 
Et dis-nous ce que ça donne après quelques tests.
Parceque là, très franchement, même si je ne sais pas pondre une ligne de PHP, ma soluce devrait marcher...
 
Peut-être que le header "location" n'aime pas les chemins relatifs ? ou peut-être doit-il être accompagné d'autres headers ?


Message édité par MagicBuzz le 15-09-2006 à 15:29:31
mood
Publicité
Posté le 15-09-2006 à 15:28:21  profilanswer
 

n°1443119
homersimp6​28
Posté le 15-09-2006 à 15:34:30  profilanswer
 

Maintenant au lieu de m'afficher le script, il me demande de le télécharger quand je clique sur envoyer.

n°1443126
MagicBuzz
Posté le 15-09-2006 à 15:47:03  profilanswer
 

:heink:
 
ton serveur supporte le php au moins :heink:

n°1443129
homersimp6​28
Posté le 15-09-2006 à 15:49:04  profilanswer
 

Mon site n'est pas encore en ligne, je suis en train de le créer sur mon pc.
Mais oui l'hébergeur que j'ai pris supporte bien le php.

n°1443132
MagicBuzz
Posté le 15-09-2006 à 15:50:51  profilanswer
 

ben comment tu veux tester ton truc en locale sans serveur :o
 
met tes fichiers chez ton hébergeur pour faire les tests :o
(ou installe et utilise easyphp)
 
forcément, si tu testes directement depuis ton disque ça ne va pas marcher ! c'est un peu comme vouloir ouvrir un document *.doc sans word et depuis une invite ms-dos... c'est pas gagné


Message édité par MagicBuzz le 15-09-2006 à 15:51:28
n°1443138
homersimp6​28
Posté le 15-09-2006 à 15:58:20  profilanswer
 

lol.
Merci.
Donc peut être que mon script fonctionne.
Il faut que je récupère mes identifiants d'hébergement et je testerais ça.
Merci de ton aide.

n°1443144
MagicBuzz
Posté le 15-09-2006 à 16:02:21  profilanswer
 

en effet, après relecture complète il doit marcher.
 
shoote ton JS de ton premier post (et de ton disque dur) à chaque fois que crois qu'il est utlisé, et lui par contre il est buggé jusqu'à la moëlle :o


Message édité par MagicBuzz le 15-09-2006 à 16:03:34

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de lien avec une liste déroulante

 

Sujets relatifs
Probléme de frame[Access][VBA] Construction d'un lien HTML fonction de plusieurs champs
Lien Hypertexte non souligné.Problème ligne de base CSS -> IE et Firefox différents ...
Problème pour compter dans champ sqlProbleme de boucle en perl
Probleme dans les chemins de fichiers[Crystal XI] Problème "sélection d'enregistrement"
[URGENT]Problème avec Normal.dot[Résolu] Problème avec count et distinct
Plus de sujets relatifs à : Problème de lien avec une liste déroulante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR