Aller au contenu

forcer une <option> sélectionné dans un <select>


fredrick

Sujets conseillés

Bonjour à tous,

J'aimerais que quelqu'un me guide et me mette sur la voie afin de résoudre un petit problème que j'ai avec les balises <select> et <option>

Voilà, j'ai créé plusieurs forums et lorsqu'on se trouve sur l'un d'eux, on peut, grâce une liste déroulante <select>, choisir son forum et ainsi se rediriger vers un autre forums.

Donc lorsque je suis dans le forum A, il y a une liste déroulante en haut à gauche dans laquelle se trouve les différents forums existant sur mon site (forum B, forum C, etc).

Ceci donne :

<select name="choix-forum">
<option>Forum A</option>
<option>Forum B</option>
<option>Forum C</option>
</select>

J'aimerais que lorsqu'on clique sur le forum B et qu'on est redirigé vers celui-ci, l'option sélectionnée dans la liste déroulante soit le forum B et non pas le forum A parcequ'il est premier dans la liste.

J'espère avoir été assez clair :rolleyes:

Comment puis-je faire cela ? Je sais que je dois récupérer la variable $_POST['choix-forum'] et lors de l'ouverture de la page Forum B, dire que l'option sélectionnée par défaut soit le $_POST['choix-forum'];

Mais comment faire ça????

Merci à toutes et à tous,

Fred :smartass:

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

lorsque tu génère ta liste déroulante (balise <select>), je suppose avec une boucle ou même sans c'est égale, utilise une condition sur la page courante et/ou en fonction de la variable $_POST['choix-forum'] (mais si ton visiteur atterrit sur ta page sans passer par ton formulaire la condition ne sera pas efficace) et si elle est vérifiée utilise l'attribut "selected" :

<select name="choix-forum">
<option<?php echo $current_forum == 'forum_a' ? ' selected="selected"' : ''; ?>>Forum A</option>
<option<?php echo $current_forum == 'forum_b' ? ' selected="selected"' : ''; ?>>Forum B</option>
<option<?php echo $current_forum == 'forum_c' ? ' selected="selected"' : ''; ?>>Forum C</option>
</select>

A toi de t'arranger pour que la variable $current_forum contienne ce qu'il faut (en fonction de variables comme $_SERVER['REQUEST_URI'] par exemple... ou ta variable $_POST['choix-forum', mais cela pose le problème que je t'ai indiqué précédemment).

En passant, si tu veux que ta liste envoie une valeur lorsque le formulaire est envoyé autrement qu'avec Javascript (Je suppose que tu utilise Javascript pour ton "menu"), utilise l'attribut value :

<option value="forum_a"<?php echo $current_forum == 'forum_a' ? ' selected="selected"' : ''; ?>>Forum A</option>

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...