- var xmlDocument;
- var right = new Array();
- document.body.onload = function () {
- var request;
- if (window.XMLHttpRequest) {
- request = new XMLHttpRequest();
- }
- else {
- request = new ActiveXObject("Microsoft.XMLHTTP");
- }
- request.onreadystatechange = function () {
- if (request.readyState == 4) {
- if (request.status == 200) {
- xmlDocument = request.responseXML;
- document.getElementById("question").innerText = xmlDocument.getElementsByTagName("question")[0].attributes[1].value;
- var answers = xmlDocument.getElementsByTagName("question")[0].childNodes;
- for (var i = 0, j = 0; i < answers.length; ++i) {
- if (answers[i].tagName == "answer") {
- var div = document.createElement("div");
- div.className = "answer";
- var radio = document.createElement("input");
- radio.setAttribute("type", "radio");
- div.appendChild(radio);
- div.appendChild(document.createTextNode(answers[i].attributes[0].value));
- document.getElementById("answers").appendChild(div);
- alert(answers[i].attributes[0].value + "\n" + answers[i].attributes[1].value+"\n"+j);
- if (parseInt(answers[i].attributes[1].value)) {
- right.push(j);
- }
- ++j;
- }
- }
- }
- }
- }
- request.open("GET", "http://exam_js.ru/JS_Exam.xml", false);
- request.send();
- }
- //function checked() {
- //// alert(document.getElementById("answers"));
- //}
- var submit = false;
- var error_b = false;
- document.body.onclick = function (event) {
- if (!event) {
- event = window.event;
- }
- if (event.srcElement.className == 'answer') {
- for (var i = 0; i < event.srcElement.childNodes.length; ++i) {
- if (event.srcElement.childNodes[i].tagName == "INPUT") {
- var elem = event.srcElement.childNodes[i];
- if (!elem.checked) {
- for (var j = 0; j < document.body.getElementsByTagName('INPUT').length; ++j) {
- if (document.body.getElementsByTagName('INPUT')[j].getAttribute("type") == 'radio') {
- if (document.body.getElementsByTagName('INPUT')[j].checked) {
- document.body.getElementsByTagName('INPUT')[j].checked = false;
- }
- }
- }
- }
- elem.checked = true;
- if (!submit) {
- var button = document.createElement("button");
- button.type = "button";
- button.innerText = "Answer";
- document.getElementById("exam_form").appendChild(button);
- submit = true;
- }
- break;
- }
- }
- }
- if (event.srcElement.tagName == "INPUT") {
- var elem = event.srcElement;
- for (var i = 0; i < document.body.getElementsByTagName('INPUT').length; ++i) {
- if (document.body.getElementsByTagName('INPUT')[i] != elem && document.body.getElementsByTagName('INPUT')[i].checked) {
- document.body.getElementsByTagName('INPUT')[i].checked = false;
- }
- }
- if (!submit) {
- var button = document.createElement("button");
- button.type = "button";
- button.innerText = "Answer";
- document.getElementById("exam_form").appendChild(button);
- submit = true;
- alert();
- }
- }
- if (event.srcElement.tagName == "BUTTON") {
- if (!error_b) {
- // var error = document.createElement("div");
- // error.style.border = "1px solid green";
- // error.style.width = "10%";
- // error.innerText = "error";
- // document.getElementById("exam_form").appendChild(error);
- // error_b = true;
- var radios = document.getElementsByTagName("input");
- var right_h = new Array();
- for (var i = 0, j = 0; i < radios.length; ++i) {
- if (radios[i].getAttribute("type") == "radio") {
- if (radios[i].checked) {
- right_h.push(j);
- }
- ++j;
- }
- }
- if (right.length == right_h.length) {
- for (var i = 0; i < right.length; ++i) {
- alert(right[i]);
- if (right[i] != right_h[i]) {
- error_b = true;
- break;
- }
- }
- }
- if (!error_b) {
- var error = document.createElement("div");
- error.style.border = "1px solid green";
- error.style.width = "10%";
- error.innerText = "error";
- document.getElementById("exam_form").appendChild(error);
- error_b = true;
- }
- }
- }
- }