【发布时间】:2017-04-21 07:29:29
【问题描述】:
我只是想知道为什么我的测验中的第一个问题可以有独立于其余问题的单选按钮,但在问题 1 之后,所有问题都充当一个单选按钮组? 这是javascript:
window.onload = getQuizXml;
function getQuizXml() {
var quiz = new XMLHttpRequest();
quiz.onreadystatechange = function() {
if (quiz.readyState == 4 && quiz.status == 200) {
searchQuiz(quiz);
}
};
quiz.open("GET", "FinalQuiz.xml", true);
quiz.send();
}
function searchQuiz(quiz) {
var i;
//get data as xml file
var xmldoc = quiz.responseXML;
var test = "<form id = 'test'>";
//start table
//process data by record
var x = xmldoc.getElementsByTagName("question");
var errorMessage = "Error, Well does not exist.";
for (i = 0; i < x.length; i++) {
var questionNumber = x[i].getElementsByTagName("qnumber")[0].childNodes[0].nodeValue;
var questionTitle = x[i].getElementsByTagName("qtitle")[0].childNodes[0].nodeValue;
var a = x[i].getElementsByTagName("a")[0].childNodes[0].nodeValue;
var b = x[i].getElementsByTagName("b")[0].childNodes[0].nodeValue;
var c = x[i].getElementsByTagName("c")[0].childNodes[0].nodeValue;
var d = x[i].getElementsByTagName("d")[0].childNodes[0].nodeValue;
test += "<br>" + questionNumber + "." +
"<br>" +
questionTitle +
"<br><br>" +
"a)<input type='radio' value='a' name ='question'>" + a +
"<br>" +
"b)<input type='radio' value='b' name ='question'>" + b +
"<br>" +
"c)<input type='radio' value='c' name ='question'>" + c +
"<br>" +
"d)<input type='radio' value='d' name ='question'>" + d +
"<br></form>";
document.getElementById("displayquiz").innerHTML = test;
}
}
这是 xml 的示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE finalquiz SYSTEM "FinalQuiz.dtd" >
<finalquiz>
<question>
<qnumber>1</qnumber>
<qtitle>In a switch statement, the ________ case clause is used to process exceptional conditions and is usually listed last.</qtitle>
<a>break</a>
<b>default</b>
<c>else</c>
<d>then</d>
</question>
<question>
<qnumber>2</qnumber>
<qtitle>The technique of developing and maintaining a large program by constructing it from small, simple pieces is called ________.</qtitle>
<a>divide and conquer</a>
<b>modular programming</b>
<c>multitasking</c>
<d>multiprogramming</d>
</question>
<question>
<qnumber>3</qnumber>
<qtitle>All variables declared in function definitions are ________.</qtitle>
<a>global variables</a>
<b>static variables</b>
<c>constant variables</c>
<d>local variables</d>
</question>
【问题讨论】:
-
单选按钮使用
name属性进行分组。我看不出为什么问题 1 会与其他问题分在一个单独的组中。 -
你所有的单选按钮都有
name='question',所以它们应该是一组。 -
顺便说一句,您应该在循环完成后分配
innerHTML,而不是每次都通过循环。 -
是的,问题 1 是独立的似乎很奇怪..
标签: javascript html ajax xml