Forcer le focus sur un élément d'une liste déroulante

evad
Invité n'ayant pas de compte PHPfrance

25 mai 2007, 12:04

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

ViPHP
ViPHP | 2144 Messages

25 mai 2007, 13:23

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.

evad
Invité n'ayant pas de compte PHPfrance

25 mai 2007, 14:16

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 mai 2007, 14:18

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 2144 Messages

25 mai 2007, 14:36

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".