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 :

Questionnaire avec affichage immédiat du score


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Par défaut Questionnaire avec affichage immédiat du score
    Bonjour,
    je dois réaliser un QCM avec des checkbox.
    Si la case est cochée, l'utilisateur gagne des points (ou en perd), et je voudrais que le résultat se mette à jour à chaque coche.
    Extrait du questionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <label for="linkedin">
    	<input value="2" name="linkedin" id="linkedin" type="checkbox" />LinkedIn</label>
    <label for="viadeo">
    	<input value="2" name="viadeo" id="viadeo" type="checkbox" />Viadeo</label>
    Si l'utilisateur coche LinkedIn, le score 2 s'affiche. S'il coche aussi Viadeo, il affiche 4.
    Je pensais que ça marcherait avec un body onLoad="Affiche()" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function Affiche() {
    	var resultat = 0;
    	var listeCoche = document.getElementsByTagName("input").checked;
    	for (i<0 ; i<listeCoche.length ; i++) {
    		resultat += [i].value;}
    	document.getElementById("score").innerHTML = resultat;
    }
    Je ne sais absolument pas par quel bout prendre le script qui produirait le résultat attendu ?
    Est-ce que quelqu'un peut m'aiguiller ?
    D'avance merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Par défaut
    Essaie comme ceci :

    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
     
    function Affiche() {
    	var i;
    	var resultat = 0;
    	var listeCoche = document.getElementsByTagName("input");
    	var l = listeCoche.length;
    	var lc;
    	for (i = 0 ; i < l ; i++) {
    		lc = listeCoche[i];
    		if (lc.checked) {
    			resultat += parseInt(lc.value, 10);
    		}
    	}
    	document.getElementById("score").innerHTML = resultat;
    }

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je pensais que ça marcherait avec un body onLoad="Affiche()"

    Sur le onload, il semble peu probable que l'utilisateur ai déjà fait des choix. Ca peut éventuellement servir pour initialiser le compte, mais ensuite, c'est sur le clic des input qu'il faut recalculer l'ensemble.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var listeCoche = document.getElementsByTagName("input").checked;
    Il semble que certains fondamentaux ne soient pas maitrisés...
    getElementsByTagName, comme le s de elements l'indique, renvoie une collection et une collection ne possède pas de propriété checked.

    Encore une notation un peu hasardeuse...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Affichage immédiat avec la commande echo
    Par computman dans le forum Langage
    Réponses: 5
    Dernier message: 10/03/2008, 12h18
  2. [MySQL] select avec affichage conditionnel
    Par encoupe dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2005, 23h46
  3. Problème avec affichage d'une table modifiée
    Par auriolbeach dans le forum Access
    Réponses: 6
    Dernier message: 31/10/2005, 15h45
  4. Cocher une case avec affichage automatique
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 13h36
  5. Probleme avec affichage de date
    Par Wongmaster dans le forum Access
    Réponses: 27
    Dernier message: 24/12/2004, 20h51

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