Mon programme html ne veut pas afficher les score a la fin 

Fermé
lxcuse - 16 févr. 2023 à 11:35
Noshyra Messages postés 36 Date d'inscription mercredi 29 juin 2022 Statut Membre Dernière intervention 15 mars 2024 - 16 févr. 2023 à 15:21

Bonjour,

mon programme ne veut pas afficher les score a la fin 

pourriez vous m'aider

voici mon programme


<html>
<head>
    <title>Quiz sur l'actualité</title>
    <meta charset="UTF-8">
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f2f2f2;
        }
        
        h1 {
            color: #0055A5;
            text-align: center;
            margin-top: 50px;
        }
        
        form {
            max-width: 500px;
            margin: 0 auto;
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            margin-top: 30px;
        }
        
        label {
            display: block;
            margin-bottom: 15px;
            font-weight: bold;
        }
        
        input[type="submit"] {
            background-color: #0055A5;
            color: #fff;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            margin-top: 20px;
        }
        
        .correct {
            background-color: #8BC34A;
        }
        
        .incorrect {
            background-color: #F44336;
        </style>
<script>
    let currentQuestion = 1;

    function checkAnswer(questionName, correctAnswers, questionId) {
        let selectedAnswer = document.querySelector('input[name="' + questionName + '"]:checked');
        if (!selectedAnswer) {
            return;
        }

        if (correctAnswers.indexOf(selectedAnswer.value.toUpperCase()) !== -1) {
            selectedAnswer.parentNode.classList.add("correct");
        } else {
            selectedAnswer.parentNode.classList.add("incorrect");
            let correctAnswerText = correctAnswers.map(function(answer) {
                return answer.toUpperCase();
            }).join(" ou ");
            alert("La réponse correcte est : " + correctAnswerText);
        }

        document.getElementById(questionId).style.display = "none";
        currentQuestion++;
        if (currentQuestion <= 10) {
            document.getElementById("question" + currentQuestion).style.display = "block";
        } else {
            document.getElementById("quiz-form").submit();
        }
    }
</script>}
</head>
<body>
    <h1>Quiz sur l'actualité</h1>
    <form>
        <div id="question1">
            <label for="q1">Quel est le nom de la ville chinoise où l'on a détecté le premier cas de COVID-19 en décembre 2019 ?</label>
            <input type="radio" name="q1" value="a"> a) Shanghai<br>
            <input type="radio" name="q1" value="b"> b) Pékin<br>
            <input type="radio" name="q1" value="c"> c) Wuhan<br>
            <input type="radio" name="q1" value="d"> d) Hong Kong<br><br>
            <input type="button" value="Suivant" onclick="checkAnswer('q1', ['c', 'C'], 'question1')">
        </div>

        <div id="question2" style="display: none">
            <label for="q2">Quel est le nom de l'actrice qui a remporté l'Oscar de la meilleure actrice en 2021 pour son rôle dans le film "Nomadland" ?</label>
            <input type="radio" name="q2" value="a"> a) Scarlett Johansson<br>
            <input type="radio" name="q2" value="b"> b) Carey Mulligan<br>
            <input type="radio" name="q2" value="c"> c) Frances McDormand<br>
            <input type="radio" name="q2" value="d"> d) Viola Davis<br><br>
                <input type="button" value="Suivant" onclick="checkAnswer('q2', ['c', 'C', 'Frances McDormand'], 'question2')">
         </div>
               
                        <div id="question3" style="display: none">
                        <label for="q3">Quel est le nom du mouvement social qui lutte pour l'égalité entre les sexes et la fin des violences faites aux femmes ?</label>
                <input type="radio" name="q3" value="a"> a) MeToo<br>
                <input type="radio" name="q3" value="b"> b) Black Lives Matter<br>
                <input type="radio" name="q3" value="c"> c) Time's Up<br>
                <input type="radio" name="q3" value="d"> d) Ni una menos<br><br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q3', ['a', 'A', 'MeToo'], 'question3')">
                 </div>
                        <div id="question4" style="display: none">
                        <label for="q4">Quel est le nom de l'application de partage de vidéos qui a été interdite en Inde en 2020 ?</label>
                <input type="radio" name="q4" value="a"> a) Vine<br>
                <input type="radio" name="q4" value="b"> b) TikTok<br>
                <input type="radio" name="q4" value="c"> c) Snapchat<br>
                <input type="radio" name="q4" value="d"> d) Instagram<br><br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q4', ['b', 'B', 'TikTok'], 'question4')">
                 </div>
                        <div id="question5" style="display: none">
                    <label for="q5">Quel est le nom de l'acteur britannique qui a incarné James Bond dans les films "Casino Royale", "Quantum of Solace", "Skyfall" et "Spectre" ?</label>
                    <input type="radio" name="q5" value="a"> a) Pierce Brosnan<br>
                    <input type="radio" name="q5" value="b"> b) Daniel Craig<br>
                    <input type="radio" name="q5" value="c"> c) Sean Connery<br>
                    <input type="radio" name="q5" value="d"> d) Roger Moore<br><br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q5', ['b', 'B', 'Daniel Craig'], 'question5')">
                 </div>
                        <div id="question6" style="display: none">
                    <label for="q6">Quel est le nom du premier vaccin contre le COVID-19 à avoir été approuvé pour une utilisation d'urgence aux États-Unis ?</label>
                    <input type="radio" name="q6" value="a"> a) Pfizer-BioNTech<br>
                    <input type="radio" name="q6" value="b"> b) Moderna<br> 
                        <input type="radio" name="q6" value="c"> c) AstraZeneca<br>
                    <input type="radio" name="q6" value="d"> d) Johnson & Johnson<br><br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q6', ['a', 'A', 'Pfizer-BioNTech'], 'question6')">                                                                                                         
                 </div>
                        <div id="question7" style="display: none">
                        <label for="q7">Quel est le nom de la célèbre festival de cinéma qui se déroule chaque année en mai sur la Croisette à Cannes ?</label>
                        <input type="radio" name="q7" value="a"> Sundance<br>
                        <input type="radio" name="q7" value="b"> Toronto<br>
                        <input type="radio" name="q7" value="c"> Cannes<br>
                        <input type="radio" name="q7" value="d"> Venice<br>
                       <input type="button" value="Suivant" onclick="checkAnswer('q7', ['c', 'C', 'Cannes'], 'question7')">
                 </div>
                        <div id="question8" style="display: none">
                        <label for="q8">Quel est le nom de la militante suédoise pour l'environnement qui a été nommée personnalité de l'année par le magazine Time en 2019 ?</label>
                        <input type="radio" name="q8" value="a"> Alexandria Ocasio-Cortez<br>
                        <input type="radio" name="q8" value="b"> Greta Thunberg<br>
                        <input type="radio" name="q8" value="c"> Emma González<br> 
                        <input type="radio" name="q8" value="d"> Malala Yousafzai<br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q8', ['b', 'B', 'Greta Thunberg'], 'question8')">
                  </div>
                        <div id="question9" style="display: none">
                        <label for="q9">Quel est le nom du réalisateur du film "Parasite", qui a remporté la Palme d'Or au festival de Cannes en 2019 ?</label>
                        <input type="radio" name="q9" value="a"> Bong Joon-ho<br>
                        <input type="radio" name="q9" value="b"> Hirokazu Kore-eda<br>
                        <input type="radio" name="q9" value="c"> Jia Zhangke<br>
                        <input type="radio" name="q9" value="d"> Abbas Kiarostami<br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q9', ['a', 'A', 'Bong Joon-ho'], 'question9')">
                 </div>
                        <div id="question10" style="display: none">
                        <label for="q10">Qui serait le meilleur frère selon toi ?</label>
                        <input type="radio" name="q10" value="a">Giovanni<br>
                        <input type="radio" name="q10" value="b">Scott<br>
                        <input type="button" value="Suivant" onclick="checkAnswer('q10', ['a', 'A', 'Giovanni'], 'question10')">
                 </div>

                
    </form>

    <script>
                           userAnswers.forEach((answer, index) => {
                if (answer === correctAnswers[index]) {
                    score += 1;
                    form.elements[index].parentElement.classList.add('correct');
                } else {
                    form.elements[index].parentElement.classList.add('incorrect');
                }
            });

            alert('Votre score est de {score} sur 10');
        });
    </script>
</body>


Windows / Chrome 110.0.0.0

A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
16 févr. 2023 à 11:36

Bonjour,

A l'avenir, merci d'utiliser l'icone prévue pour poster du code sur le forum. ça le rendra plus lisible sur le forum.

Ensuite,

1 - Tu as une accolade fermante qui se trouve avec ton </script> ...  

2 - Déplaces ton JS juste avant la fin de ton body


0

Tu peux être plus clair s'il te plaît 

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Lxcuse
Modifié le 16 févr. 2023 à 13:55

Je ne vois pas comment...

À moins de réécrire le code à ta place mais ce n'est pas vraiment ma philosophie ni celle de ce forum

0
Lxcuse > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
16 févr. 2023 à 14:04

Je ne comprends juste pas JS

0
Noshyra Messages postés 36 Date d'inscription mercredi 29 juin 2022 Statut Membre Dernière intervention 15 mars 2024 > Lxcuse
16 févr. 2023 à 15:21

JS = javascript, donc ton script.

0