Formulaire non traité

fvv Messages postés 3 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 31 janvier 2009 - 31 janv. 2009 à 19:52
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 1 févr. 2009 à 08:26
Je n'y connais pas grand chose en javascript mais j'ai essayé d'en utiliser un tout petit peu pour avoir une liste déroulante sans bouton submit et je ne comprend pas pourquoi le formulaire n'est pas soumis.
Vous voyez quelque chose qui ne va pas dans le code suivant?
la variable à récupérer est bien dans $_POST['choix']?

Le formulaire :
<form action="gerer_objet.php" method="post" name="choix">
Choix d'une catégorie :

<SELECT onchange="document.forms['choix'].submit();">
<OPTION value='1' <?php echo choixParDefaut('1'); ?> >1</OPTION>
<OPTION value='2' <?php echo choixParDefaut('2'); ?>>2</OPTION>
<OPTION value='3' <?php echo choixParDefaut('3'); ?>>3</OPTION>
<OPTION value='4' <?php echo choixParDefaut('4'); ?>>4</OPTION>
<OPTION value='5' <?php echo choixParDefaut('5'); ?>>5</OPTION>
</SELECT>
<noscript>
</noscript>
</form>

La fonction choixParDefaut() :
function choixParDefaut($c)
{
$par_defaut = '';
if (isset($_POST['choix']))
{
if ($_POST['choix'] == $c)
{
$par_defaut='selected="selected"';
}
}
return $par_defaut;
}

Merci de votre aide.

1 réponse

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
1 févr. 2009 à 08:26
Salut,

je ne comprend pas pourquoi le formulaire n'est pas soumis.

Sisi, le formulaire est correctement soumis

la variable à récupérer est bien dans $_POST['choix']?

Nannan, "choix" est le nom du formulaire, pas de la variable.

Tu ne récupères rien car ton select n'a pas de nom :
<SELECT onchange="document.forms['choix'].submit();">

=>
<SELECT name="s_choix" onchange="document.forms['choix'].submit();">

Et pour la fonction :
function choixParDefaut($c)

{

$par_defaut = '';

    if (isset($_POST['s_choix']))

    {

        if ($_POST['s_choix'] == $c)

        {

            $par_defaut='selected="selected"';

        }

    }

return $par_defaut;

}

Cordialement,

Kohntark-
0