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 :

Réaliser un quiz question par question


Sujet :

JavaScript

  1. #21
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Avec le clear ça marche impec pour un temps à chaque question, et pour finir (enfin ) il faut afficher le temps qu'il reste ...
    Donc avoir le décompte mais également visuel c'est possible ?

  2. #22
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Tu as raison, mais dans ton exemple, on peut faire plus simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var t=setTimeout(temp_ecoule, 10000);
    la fonction anonyme n'a d'utilité que s'il y a des paramètres à passer au callback
    Pfff Oui bien sûr je suis pas réveillé ce matin

  3. #23
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ben dans la fonction qui boucle dans le setTimeout tu decrémentes une variable que tu affiches ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #24
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    J'ai essayer ceci, quand on laisse le temps s'écouler tout va bien mais quand on clique sur un bouton le compteur s'affole ...

  5. #25
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Et peut-on transformer se système pour que plusieurs réponses puissent être accepté, j'ai essayer avec les choix qui sont vérifier à chaque clique et qui colle les valeur dans un champs caché mais je me suis retrouvé sans savoir quoi et à coup sur en me compliquant la vie

  6. #26
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Citation Envoyé par valentin45000 Voir le message
    Et peut-on transformer se système pour que plusieurs réponses puissent être accepté, j'ai essayer avec les choix qui sont vérifier à chaque clique et qui colle les valeur dans un champs caché mais je me suis retrouvé sans savoir quoi et à coup sur en me compliquant la vie
    au lien de remplir questionnaire[0][3] = "réponse 1"
    tu fais questionnaire[0][3] = new Array("réponse 1","réponse 4");

    et dans la fonction compare tu auras juste à rajouter un parcours du tableau.

  7. #27
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    j'ai du proposer un in_array js quelque part sur le forum ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #28
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    ouai pas bête ^^

  9. #29
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Oui mais c'est pas aussi simple je voulais pas dire en réponse "1 ou 2" mais plutôt "1 et 2". Si on ne sélectionne que 1 ou a perdu, si on ne sélectionne que 2 on a perdu mais si on sélectionne 1 et 2 on gagne

  10. #30
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ben verifies le in_array pour les deux réponses
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #31
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Mon problème n'est pas vraiment dans la vérification mais plutôt dans l'envoie des données. Je pense donc qu'il va falloir utilisez des checkbox mais je vois pas du tout comment faire ...

  12. #32
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    check box en cas de reponses multiples possibles
    radio en cas de reponse unique

    ou select multiple
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #33
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Ici je parle bien de réponse multiple, le but serait :

    Si la question comporte plusieurs réponses, alors il faut donner toutes bonnes réponses, mais si elle ne comporte qu'une bonne réponse, on laisse quand même le choix de sélectionner plusieurs réponses mais se sera que si il y la bonne réponse uniquement.

  14. #34
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    alors checkboxes ou select multiple
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  15. #35
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Je préfère les checkbox. Mais pour ici :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (var i = 0; i < questionnaire[index][3].length ; i++){
    	reponses.innerHTML += "<input type='button' value='"+questionnaire[index][3][i]+"' onclick=\"compare(\'"+questionnaire[index][3][i]+"\',\'"+questionnaire[index][4]+"\');\" />";
     }

    On remplace donc button par checkbox mais à la fin on met un bouton, à l'extèrieur du for qui aura en onclick la fonction compare ... mais on lui passe quoi et comme ?

  16. #36
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Fonction qui recupère les résultats cochés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function get_checked(){
    	var checks= new Array();
    	var inputs = document.getElementsByTagName('input');
    	for (i = 0; i<  inputs.length ; i++){
    		if (inputs[i].checked){
    			checks.push(inputs[i].value);
    					}
     
    	}
    	return checks;
     
    }
    au lieu de générer des boutons, tu génère des checkbox et un bouton qui va valider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    reponses.innerHTML = "";
    	for (var i = 0; i < questionnaire[index][2].length ; i++){
    		reponses.innerHTML += "<input type='checkbox' value='"+questionnaire[index][2][i]+"'/>"+questionnaire[index][2][i]+'<br/>';
     
    	}
     
    	reponses.innerHTML += "<input type='button' onclick='compare('"+index+"');' value='Valider'>";
    il va appeler la fonction compare avec l'index courant, dans la fonction compare tu dois appeler la fonction get_checked() qui te renvoi un tableau de réponses cochées, et le comparer avec ton tableau de réponses enregistrées au préalable

  17. #37
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Merci du temps que tu m'accorde.
    Par contre tu passe dans la fonction compare 1 seul élément alors qu'elle est fait pour en recevoir deux :
    function compare(a,b){
    Et ensuite je comprend vraiment se que fait la fonction que tu as faite (désolé si je suis long à la détente ).

  18. #38
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    oui, tu dois refais ta fonction compare un seul argument, l'index de la question en cours, ensuite tu fais un get_checked qui va via le dom récupérer tout les inputs de ton html, regarder si leur propriété checked est à True et dans ce cas les insérer dans un tableau qu'il retournera.

    ensuite tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    fct compare[...]
    checks = get_checked();
    var compteur_bonne_reponse = 0;
    for (i = 0; i < checks.length; i++){
          if (in_array(checks[i],questionnaire[index][3])){
                  compteur_bonne_reponse++;
          }
     
    }
     
    if (compteur_bonne_reponse == questionnaire[index][3].length){ alert('juste'); }else { alert('faux');}
    voila la plus parts des éléments dont tu as besoin.

  19. #39
    Membre averti
    Homme Profil pro
    Sécurité
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Sécurité

    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    Bon je dois être à la ramasse aujourd'hui mais si je fait ça il va y avoir un soucis :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function compare(a){
     
    checks = get_checked();
    var bool_reponse = true
    for (i = 0; i < checks.length; i++){
          if (in_array(checks[i],questionnaire[index][3])){
     
          }else{
                  bool_reponse = false;
          }
     
    }
    Car l'index transmit (donc la variable a) on le donne ou dans la fonction ? J'aurais bien dit dans al fonction get_checked mais je vois qu'elle ne prend aucun argument ...

  20. #40
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function compare(index){

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

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