Page 1 sur 1
Forcer le focus sur un élément d'une liste déroulante
Posté : 25 mai 2007, 12:04
par evad
Bonjour,
J'ai un formulaire (method post) avec une liste déroulante qui est alimentée par une requête SQL.
Sur la page de résultat où les données s'affichent en fonction de l'élément sélectionné, je voudrais forcer le focus sur cet élément.
Est-il possible de réaliser cela en PHP ?
Merci.
ev@d
Posté : 25 mai 2007, 13:23
par iclo
Si ce que tu veux, c'est bien présélectionner un élément d'une liste, tu dois ajouter l'attribut "selected" à l'élément à sélectionner.
Forcer le focus sur un élément d'une liste déroulante
Posté : 25 mai 2007, 14:16
par evad
Ma liste déroulante est générée de la façon suivante :
echo "<p><select name='liste'>";
echo "<option>Liste</option> ";
$query=mysql_query("select id, nom from table");
$nblignes = mysql_numrows($query);
for ($i=0;$i<$nblignes;$i++) {
$id= mysql_result($query,$i,"id");
$nom = mysql_result($query,$i,"nom");
echo "<option value='$id'> $nom </option>";
}
echo "</select>";
Je ne vois pas comment préselectionner l'élément choisi étant donné que la liste déroulante est générée dynamiquement !?
ev@d
Posté : 25 mai 2007, 14:18
par zeus
Modération :
evad, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).
Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.
Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Posté : 25 mai 2007, 14:36
par iclo
Si tu as un élément choisis, tu dois avoir récupérer son id, (via $_POST ou $_GET)
Tu affiches toutes des options dans une boucle.
Donc pour chaque itération de la boucle, tu testes si l'id courant de l'option qui va y être affiché est égale à l'id est récupéré, si c'est le cas, tu affiches selected dans le tag <option>, si ce n'est pas le cas tu n'affiches pas le "selected".