有一个处理测试结果的JS代码(在网上找到的),但是如果测试中有5个问题,它就可以工作。我怎样才能做任何数量的问题?
function count()
{
var answer = 0;
var ball = 0;
var good = "";
var bad = "";
var solv = 1;
for (var i=0; i<26; i++) {
if (document.form1.elements[i].checked) {
if (document.form1.elements[i].value != 0) {
if (good != "") {
good += ", "+solv;
}
else {
good += "№ "+solv;
}
}
else {
if (bad != "") {
bad += ", "+solv;
}
else {
bad += "№ "+solv;
}
}
solv++;
}
}
for (var i=0; i<26; i++) {
if (document.form1.elements[i].checked) {
answer +=1;
}
}
if (answer < 5) {
alert("Вы не ответили на все вопросы теста!");
}
else {
if (good == "") good = " нет :(";
if (bad == "") bad = " нет =)";
var answer = "<span style=color:green>Решены правильно:</span> "+good+ "<br>";
if (bad == "нет") { answer += "Неправильно: "+bad+"."; }
else { answer += "<span style=color:red>Неправильно:</span>"+bad+ "";}
if (navigator.userAgent.toLowerCase().indexOf("gecko") > 0) {
div1 = document.getElementById('div1');
}
div1.innerHTML = answer;
div1.style.display = 'block';
var paragraphs = document.all.tags('I');
for (s=0; s< paragraphs.length; s++) {
if (document.form1.elements[s].checked) {
paragraphs(s).style.fontWeight = 'bold';
if (document.form1.elements[s].value != 0) {
paragraphs(s).style.color = 'green';
}
else {
paragraphs(s).style.color = 'red';
}
}
}
}
}
<form name="form1" class="test">
<p>1. Вопрос 1<br>
<input type="radio" name="a" value="1"><i>Вариант 1</i><br>
<input type="radio" name="a" value="0"><i>Вариант 2</i><br>
<input type="radio" name="a" value="0"><i>Вариант 3</i><br>
<input type="radio" name="a" value="0"><i>Вариант 4</i><br>
<input type="radio" name="a" value="0"><i>Вариант 5</i>
</p>
<p>2. Вопрос 2<br>
<input type="radio" name="b" value="0"><i>Вариант 1</i><br>
<input type="radio" name="b" value="0"><i>Вариант 2</i><br>
<input type="radio" name="b" value="0"><i>Вариант 3</i><br>
<input type="radio" name="b" value="1"><i>Вариант 4</i><br>
<input type="radio" name="b" value="0"><i>Вариант 5</i>
</p>
<p>3. Вопрос 3<br>
<input type="radio" name="c" value="0"><i>Вариант 1</i><br>
<input type="radio" name="c" value="1"><i>Вариант 2</i><br>
<input type="radio" name="c" value="0"><i>Вариант 3</i><br>
<input type="radio" name="c" value="0"><i>Вариант 4</i><br>
<input type="radio" name="c" value="0"><i>Вариант 5</i>
</p>
<p>4. Вопрос 4<br>
<input type="radio" name="d" value="0"><i>Вариант 1</i><br>
<input type="radio" name="d" value="0"><i>Вариант 2</i><br>
<input type="radio" name="d" value="0"><i>Вариант 3</i><br>
<input type="radio" name="d" value="1"><i>Вариант 4</i><br>
<input type="radio" name="d" value="0"><i>Вариант 5</i>
</p>
<p>5. Вопрос 5<br>
<input type="radio" name="f" value="0"><i>Вариант 1</i><br>
<input type="radio" name="f" value="0"><i>Вариант 2</i><br>
<input type="radio" name="f" value="0"><i>Вариант 3</i><br>
<input type="radio" name="f" value="1"><i>Вариант 4</i><br>
<input type="radio" name="f" value="0"><i>Вариант 5</i>
</p>
<div border="1" id="div1" style="padding:9px 0 11px 10px;margin:9px 17px;border:1px solid green;display:none;"></div>
<input type="button" value="Узнать результат" onclick="count();">
</form>
专门针对这段html代码对原代码的更正:
在循环中,26 - 添加我们的问题,我添加了 10(5 个问题的 2 个部分),即 我放了36个。哪里
answer < 5- 我们添加了 2 个部分,即 7成为。在 Html 中,每个问题组都应该有自己的独立name组 - 这表明选择的单选按钮组是一个块,用于从中选择一个元素。这是 Javascript 代码的改进版本(感谢 Grundy 对此的提示 :)),在向 Html 代码添加新问题块时无需手动更改任何内容: