Form qui marche pas

Résolu
Salut ;-)

Voilà je bosse sur une page web et j'ai un truc qui marche pas...
Je fais un formulaire pour différencier les utilisateurs mais mon traitement marche pas.

<!doctype html>
<head>
	<meta charset="utf-8">
	<SCRIPT language="javascript">

	function select_user(form_user)
	{

		if (form_user.choix_user[admin].checked)
		{
			alert("Vous avez choisi la proposition " + form_user.choix[admin].value)
		};

		if (form_user.choix_user[secretaire].checked) 
		{
			alert("Vous avez choisi la proposition " + form_user.choix[secretaire].value)
		};
	
		if (form_user.choix_user[autre].checked)
		{
			alert("Vous avez choisi la proposition " + form_user.choix[autre].value)
		};
	}
	</SCRIPT>

	<title>Accueil</title>
</head>
<body>
	<h1>Quel utilisateur êtes vous ?</h1>

	<FORM NAME="form_user">
		<INPUT TYPE="radio" NAME="choix_user" VALUE="admin">Administrateur<BR>
		<INPUT TYPE="radio" NAME="choix_user" VALUE="secretaire">Secrétaire<BR>
		<INPUT TYPE="radio" NAME="choix_user" VALUE="autre">autre<BR>
		<br/>
		<INPUT TYPE="button"NAME="but" VALUE="Quel et votre choix ?" onClick="select_user(form_user)">
	</FORM>

</body>
</html> 


(Pour l'exemple j'ai remplacé le traitement par des "alert" mon but c'est de faire des cookies à terme)

J'ai mis un alert("banana") dans ma fonction j'y passe bien... doit y avoir un souci dans mes conditions ou alors une faute de frappe...

Merci de votre aide !

--
La vie est un mystère qu'il faut vivre, et non un problème à résoudre. (Gandhi)
La meilleure manière d'atteindre le bonheur est de le donner aux autres. (Lord Baden-Powell)

4 réponses

  1. Bonjour

    Il n' a pas de form_user.choix_user[admin], form_user.choix_user[secretaire], etc, mais il y a form_user.choix_user dont la valeur est 'admin', 'secretaire, etc...
    Il vaut mieux ré-écrire ton code avec un switch sur form_user.choix_user.value.
    0
    1. bonjour,

      form_user.choix_user est une nodelist. Donc autant la parcourir comme une liste et voir quel élément est sélectionné.

      <!doctype html>
      <head>
       <meta charset="utf-8">
       <SCRIPT>
      
       function select_user(form_user){
        for (var i=0, len = form_user.choix_user.length; i< len; ++i){
         if (form_user.choix_user[i].checked){
          alert("Vous avez choisi la proposition " + form_user.choix_user[i].value);
          break;
         } 
        }
       }
       </SCRIPT>
      
       <title>Accueil</title>
      </head>
      <body>
       <h1>Quel utilisateur êtes vous ?</h1>
      
       <FORM NAME="form_user">
        <INPUT TYPE="radio" NAME="choix_user" VALUE="admin">Administrateur<BR>
        <INPUT TYPE="radio" NAME="choix_user" VALUE="secretaire">Secrétaire<BR>
        <INPUT TYPE="radio" NAME="choix_user" VALUE="autre">autre<BR>
        <br/>
        <INPUT TYPE="button" NAME="but" VALUE="Quel et votre choix ?" onClick="select_user(form_user)">
       </FORM>
      
      </body>
      </html>
      1
      1. Contributeur
        ça marche avec la solution de dan =)
        En plus maintenant que je l'ai sous les yeux, ça parait évident j'ai pas été très malin -_-

        merci à vous deux pour vos réponses !
        0
        1. Ça marche aussi avec la mienne, et c'est bien plus simple.

          function select_user(form_user)
            {
              alert("Vous avez choisi la proposition " + form_user.choix_user.value);
            }
          0
          1. Contributeur
            C'est vrai je viens de voir que j'avais fait de la daube en copiant ta solution -_-
            La vache faut que je me réveille

            Encore merci =)
            0