Показать сообщение отдельно
  #1 (permalink)  
Старый 02.05.2015, 09:58
Интересующийся
Отправить личное сообщение для tracerzzz Посмотреть профиль Найти все сообщения от tracerzzz
 
Регистрация: 02.05.2015
Сообщений: 10

Проверка теста с возможностью мультивыбора ответов
С подсчетом правильных ответов для radiobatton разобрался, а как быть если правильных ответов может быть более чем один, как подсчитывать более одного правильного ответа для checkbox?
Как определить если это checkbox?

Может быть можно записать значение в переменную, тега input свойства type?
Например если type==checkbox тогда действовать так, если type=radio тогда действовать иначе.

var x = document.getElementById("question4").type;
alert(x);

Выдаёт сообщение undefined.
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8" />
    <title>HTML5</title>
 
    <script>
        var arrnext = '0'; // Подсчет нажатий Далее
        var time = '5';
        var arr = []; // массив ответов
        var arr1 = [0, 0, 0, 0, 0]; //Массив правильных ответов
        var count = 0; // баллы
 
 
        function timer() {
            var obj = document.getElementById('timer');
            obj.innerHTML--;
            if (obj.innerHTML == 0) {
                stopTest();
            } else {
                setTimeout(timer, 1000);
            }
 
        }
 
 
 
 
        function startTest() {
 
 
 
            document.getElementById("timer").innerHTML = time;
            setTimeout(timer, 1000);
            document.getElementById("start").style.display = 'block';
            document.getElementById("btStart").style.display = 'none';
            for (arrnext = '1'; arrnext < 5; arrnext++) {
 
                document.getElementById("question" + arrnext).style.display = 'none';
 
            }
            arrnext = '0'
        }
 
        function nextQuestion() {
 
            var i = 0;
 
 
            for (i = 0; i < document.getElementsByName("q" + arrnext).length; i++) {
 
                if (document.getElementsByName("q" + arrnext)[i].checked) {
 
                    arr[arrnext] = i; //какой правильный чекбокс, начинается с 0 
                }
            }
 
 
            document.getElementById("question" + arrnext++).style.display = 'none';
            document.getElementById("question" + arrnext).style.display = 'block';
 
        }
 
        function stopTest() {
 
            for (i = 0; i < arr.length; i++) {
 
                if (arr[i] == arr1[i]) count++;
            }
            alert(arr);
        }
    </script>
 
</head>
 
<body>
 
 
 
 
    <style type="text/css">
        <!-- #start {
            display: none;
        }
        
        -->
    </style>
    <form method="get" enctype="text/plain" name="testForm">
        <p>
            <input type="button" name="btStart" value="Старт" onclick="startTest()" id="btStart" />
        </p>
 
        <div id="start">
            <p id="timer"></p>
 
 
 
            <p class="quest">Вопрос</p>
            <div id="question0">
 
                <input type="radio" name="q0" value="asd" /> 1
                <br />
                <input type="radio" name="q0" value="asd" /> 1
                <br />
                <input type="radio" name="q0" value="asd" /> 1
                <br />
 
 
            </div>
 
            <div id="question1">
 
                <input type="radio" name="q1" value="1" /> 2
                <br />
                <input type="radio" name="q1" value="2" /> 2
                <br />
                <input type="radio" name="q1" value="3" /> 2
                <br />
            </div>
            <div id="question2">
 
                <input type="radio" name="q2" value="1" /> 3
                <br />
                <input type="radio" name="q2" value="2" /> 3
                <br />
                <input type="radio" name="q2" value="3" /> 3
                <br />
            </div>
            <div id="question3">
 
                <input type="radio" name="q3" value="1" /> 4
                <br />
                <input type="radio" name="q3" value="2" /> 4
                <br />
                <input type="radio" name="q3" value="3" /> 4
                <br />
            </div>
            <div id="question4">
                <input type="checkbox" name="precipitation[]" value="1" />5
                <br />
                <input type="checkbox" name="precipitation[]" value="2" />5
                <br />
                <input type="checkbox" name="precipitation[]" value="3" />5
                <br />
            </div>
            <p>
                <input type="button" name="btStart" value="Далее" onclick="nextQuestion()" id="next" />
            </p>
        </div>
 
 
 
    </form>
    </div>
</body>
 
</html>
Ответить с цитированием