[Javascript] Rang d'une option d'une listbox

Résolu/Fermé
Shankara Messages postés 27 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 9 février 2019 - 20 févr. 2007 à 08:58
Shankara Messages postés 27 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 9 février 2019 - 20 févr. 2007 à 10:33
Salut à tous !

J'ai un souci avec une liste de sélection. Je souhaite qu'après validation du formulaire, le choix de l'utilisateur reste affiché (pendant qu'une fenêtre alert s'affiche). Le souci est que les values de mes options sont en fait les identifiants des éléments dans la base de données (donc pas du type 1, 2, 3 ...).

<?php
$req="SELECT idactiviteFP, nom
      FROM activitefp
      WHERE idCategorieFP=0
      ORDER BY 2";
$result=mysql_query($req) or die ('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
echo "<select name=\"combo_act\">
      <option value=\"0\">Veuillez choisir une activité</option>\n";
while ($row=mysql_fetch_array($result))
{
$i=1;
echo "<option value=\"".$row[0]."\">".htmlentities($row[1])."</option>\n";
$i++;
}
echo "</select>\n"; ?>


Comment savoir quel est le rang (0, 1, 2 ...) de l'option sélectionnée ?
Merci.
A voir également:

1 réponse

Shankara Messages postés 27 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 9 février 2019 4
20 févr. 2007 à 10:33
J'ai fini par résoudre le problème en mettant une condition au moment de la construction du formulaire. En effet, les éléments de la listbox proviennent d'une BDD donc j'ai une requête PHP au moment de la construction de la liste. Evidemment, le javascript n'est alors pas encore interprété puisque PHP agit côté serveur et Javascript côté client.
<?php
$req="SELECT idactiviteFP, nom
      FROM activitefp
      WHERE idCategorieFP=0
      ORDER BY 2";
$result=mysql_query($req) or die ('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
echo "<select name=\"combo_act\">
     <option value=\"0\">Veuillez choisir une activité</option>\n";
while ($row=mysql_fetch_array($result))
{
   $i=1;
   if ($row[0]==$_REQUEST['combo_act'])
   {
      echo "\t\t\t\t\t\t\t\t<option value=\"".$row[0]."\" selected>".htmlentities($row[1])."</option>\n";
   }
   else
   {
      echo "\t\t\t\t\t\t\t\t<option value=\"".$row[0]."\">".htmlentities($row[1])."</option>\n";
   }
   $i++;
}
echo "\t\t\t\t\t\t\t</select>\n"; ?>
2