С подсчетом правильных ответов для 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>