Form qui marche pas

Résolu
Lapourax Messages postés 2970 Date d'inscription   Statut Contributeur Dernière intervention   -  
Lapourax Messages postés 2970 Date d'inscription   Statut Contributeur Dernière intervention   -
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. dan-b Messages postés 86 Statut Membre 7
     
    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
  2. Utilisateur anonyme
     
    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
  3. Lapourax Messages postés 2970 Date d'inscription   Statut Contributeur Dernière intervention   336
     
    ç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
  4. Utilisateur anonyme
     
    Ç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. Lapourax Messages postés 2970 Date d'inscription   Statut Contributeur Dernière intervention   336
       
      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