Page 1 sur 1
Garder la valeur selectionnée dans une liste déroulante aprè
Posté : 24 janv. 2008, 11:01
par joss91
Bonjour,
Je pense que le titre parle de lui même c'est à dire que je selectionne un élément dans ma liste déroulante et ensuite après rafraichissement de ma page je désirerais que ma liste déroulante reste sur la sélection que j'avais cliquer juste avant... cela doit être une histoire de $_SESSION mais je voulais savoir si quelqu'un avait déjà l'astuce

Posté : 24 janv. 2008, 12:01
par Calimero
Bonjour,
Il faut tester la valeur en question en php (tout dépend ou tu la stockes, si c'est en session c'est effectivement une variable de session qu'il faut tester) pour savoir sur quelle balise
<option> de ta liste placer l'attribut
selected.
Petit exemple :
Code : Tout sélectionner
<form method="post">
<select name="fruit" id="fruit">
<option value="1">Banane</option>
<option value="2">Fraise</option>
<option value="3" selected="selected">Cerise</option>
<option value="4">Mandarine</option>
</select>
</form>
Dans cette liste de choix, lors du chargement de la page à l'écran, la Cerise sera sélectionnée (Si aucun attribut selected n'est présent, c'est la première valeur de la liste qui est sélectionnée par défaut).
Posté : 28 janv. 2008, 16:42
par joss91
oui le selected est à placer au bon endroit je suis d'accord mais dans mon cas comment fait-on svp ? voici mon code :
$rq="Select * from client where cabinet='$cab' order by id;";
$result= mysql_query ($rq) or die ("Select impossible");
echo "<form method='POST' style='text-align: center;' action='valid.php'>";?> <select size="1" id="cat" name="cat" onclick="refresh_message();" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
<?php
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "<option id='compte' name='compte' value=".($dt[0]).">".($dt[1])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; }
}
?>
</select>
Posté : 28 janv. 2008, 17:42
par Ryle
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".
Posté : 28 janv. 2008, 18:03
par Calimero
oui le selected est à placer au bon endroit je suis d'accord mais dans mon cas comment fait-on svp ?
Eh bien on retrousse ses manches et on y va
Sur quoi tu bloques, au juste ?
Posté : 28 janv. 2008, 18:19
par joss91
je bloque sur la valeur à tester j'ai essayer avec $_POST['cat'], $_POST['compte'], $_POST['dt'] et aucun de ces trois marche pour récupérer la valeur selectionnée
Posté : 28 janv. 2008, 18:23
par h0_noMan
Que fait ta page valid.php avec ce formulaire.
Donnes le code de valid.php comme cela on pourras recuperer la valeur dans la base de données et affiche le selected au bon endroit.
Posté : 28 janv. 2008, 18:23
par Ryle
Ton formulaire est bien envoyé en post.. ton champ s'appelle bien "cat"... mais lorsque tu sélectionne une valeur dans la liste, c'est la fonction sendData('id='+this.value,'liresc.php') qui est exécutée... peut être qu'en regardant ce qu'elle fait, tu sauras où et quoi chercher
Une autre solution plus basique étant de faire un print_r($_POST) ou print_r($_GET) pour voir ce qu'ils contiennent : clé et valeur

Posté : 28 janv. 2008, 18:44
par joss91
Que fait ta page valid.php avec ce formulaire.
Donnes le code de valid.php comme cela on pourras recuperer la valeur dans la base de données et affiche le selected au bon endroit.
Je ne m'interesse pas à la page valid.php car je n'envoi pas le formulaire : je veux juste récupérer la valeur de l'élement cliqué dans ma liste (pour après la tester et la mettre en selected après raffraichissement)
Posté : 28 janv. 2008, 18:47
par h0_noMan
Les donnees $_POST ne sont pas transmisent durant un rafraichissement.
Pourquoi as tu besoin de faire un rafraichissement.
Posté : 29 janv. 2008, 01:35
par joss91
effectivement ce n'est pas POST qu'il faut utiliser mais quelquechose qui detecte ce que l'on selectionne avant le rafraichissement...
en fait pour répondre aux curiosités, avec mon select je renseigne un autre formulaire via ajax. je submit cet autre formulaire quand je veux et ceci a pour action entre autre de rafrachir ma page.
Et donc j'aimerais retrouver ce que j'ai selectionné avant le rafraichissement...
Posté : 29 janv. 2008, 09:38
par d0m
je sais pas si ca fait bricolage, mais puisque tu utilises de l'ajax, tu peux le faire avec un petit script qui met la selection en session lorsque tu selectionnes.