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

Résolu
Shankara Messages postés 28 Statut Membre -  
Shankara Messages postés 28 Statut Membre -
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 28 Statut Membre 4
 
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