IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

fonction avec if sur input radio qui ne renvoie pas la bonne valeur


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 10
    Points
    10
    Par défaut fonction avec if sur input radio qui ne renvoie pas la bonne valeur
    bonjour,
    j'ai écrit un test en formulaire html, qui doit être envoyé vers une autre page qui affiche les résultats, mais j'ai inclus une fonction javascript qui permet de vérifier qu'il y a bien une réponse par question. Voici le code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Comment Louis De Funes a-t-il prénommé son chien dans le film "ni vu ni connu" ? <br/><br/>
    	1 / Corniaud<input type="radio" name="foulcan" id="foulcan" value="1"/>&nbsp;&nbsp;
    	2 / Foulcan<input type="radio" name="foulcan" id="foulcan" value="2"/>&nbsp;&nbsp;
    	3 / Baltazar<input type="radio" name="foulcan" id="foulcan" value="3"/>&nbsp;&nbsp;<br/><br/>
    et le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function choix(form) 
    	{var valide = true;
            for (var i=0,l=form.foulcan.length;i<l;i++) 
    		{
    			if (!form.foulcan[i].checked) 
    			{
    				valide = false;
    			}
    		}			if (!valide) 
    			{
    				alert ("Vous devez répondre à toutes les questions pour obtenir votre score !");
    			}				
    				return valide;
    	}
    Ce code affiche parfaitement l'alert() quand une question est restée sans réponse, permet également de rester sur la page actuelle cependant il a le même comportement lorsque toutes les questions ont une réponse de cochée
    Si quelqu'un sait ce que je dois changer...
    merci du temps que vous prendrez pour répondre à ma question

  2. #2
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
        function choix (form) {
            var groupRadio = {}, // regarde si on a une réponse pour chaque groupe
                el = null; // var temporaire pour raccourcir écriture
     
            for (var i=0, il = form.elements.length; i < il; i++) {
                el = form.elements[i];
                if (el.type === "radio") { 
                    if (!groupRadio[el.name]) {
                        groupRadio[el.name] = el.checked;
                    }
                }
            }
            // il faut voir si on en au moins un qui n'est pas rempli
            for (var name in groupRadio) {
                if (!groupRadio[name]) { // ce groupe de radio n'a pas de choix
                    alert ("pas bon"); 
                    return false;
                }
            }
            return true;
        }
    Ah oui, met des <label> pour tous tes <input> c'est horriblement chiant de viser les ronds pour des questionnaires à ralonge Profite en pour régler ton problème d'id. rajoute un numéro à la fin, l'id peut être différent du name sans problèmes mais il doit absolument être unique (rien que pour tes <label> marchend).

    Et puis sinon ça sert plus a rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/12/2012, 13h14
  2. Méthode qui ne retourne pas la bonne valeur
    Par clubiste1920 dans le forum Débuter avec Java
    Réponses: 15
    Dernier message: 31/03/2011, 17h14
  3. [CR XI] Affiché 0 sur une commande qui ne renvoi pas de ligne
    Par Rits dans le forum Débuter
    Réponses: 1
    Dernier message: 01/03/2010, 14h49
  4. Requete qui n'affiche pas les bonnes valeurs
    Par snips67 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 29/01/2010, 10h54
  5. histoire de fonction avec problème sur arguments
    Par bébé dans le forum Langage
    Réponses: 5
    Dernier message: 07/01/2006, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo