Wątek przeniesiony 2024-01-01 14:31 z JavaScript przez Riddle.

Quiz dodaje punkty, gdy nie powinien

0

Witam, robię skrypt quizu do szkoły lecz nie wszystko mi działa,
Tak wygląda skrypt:

<!DOCTYPE html5>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h2>7. Urządzenie sieciowe pracujące w trzeciej warstwie modelu ISO/OSI, operującej na adresach IP, to (jedna odpowiedź)</h2> <!-- Odp. B-->
    <input type="checkbox" name="pyt7" id="hub" value="hub"> A. hub <br>
    <input type="checkbox" name="pyt7" id="router" value="router"> B. router <br>
    <input type="checkbox" name="pyt7" id="repeater" value="repeater"> C. repeater <br>
    <input type="checkbox" name="pyt7" id="bridge" value="bridge"> D. bridge
    
    
  <br><input id="oblicz" type="button" onclick="oblicz()" value="Koniec testu">
    
    
<script>  
    function oblicz() {
        let punkty = 0;
        let pytanie7 = document.getElementsByName("pyt7");

        if (pytanie7[1].checked) {
            punkty++;
       }
      alert(punkty)
        }
</script>
</body>
</html>

Ma działać tak że jak kliknę jedną dobrą odpowiedz, dostaje punkt, ale jak kliknę złą nic mi nie dodaje.
i właśnie w tym jest problem ponieważ gdy kliknę dwie (jedną poprawną a drugą nie) to i tak dostaje punkt, a tego chciałbym uniknąć a nie wiem jak to zrobić (musze użyć chekboxów)

2

Użyj type=radio zamiast checkbox, skoro tylko jedna odpowiedź ma być do zaznaczenia.

Edit:
I nie ma czegoś takiego jak doctype html5, HTML 5 ma po prostu <!doctype html>

1 użytkowników online, w tym zalogowanych: 0, gości: 1