Ну суть проблемы такова,я немного недопонимаю скорее всего где што будет хранитса.Есть код
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet href="style.css" type="text/css"?>
<!DOCTYPE test SYSTEM "test.xml">
<test>
<style border="5px solid black" hight="350px" width="350px" padding="20px" margin="50px"></style>
<questions>
<single>
<question>Вопрос</question>
<answer rating="1"> Да</answer>
<answer rating="0"> Нет</answer>
</single>
<question1>Вопрос</question1>
<answer1 rating="0"> Да</answer1>
<answer1 rating="1"> Нет</answer1>
</questions>
<TextButton>Ответить на вопрос</TextButton>
<TextButton>Стереть ответы</TextButton>
<ResultTextTrue>Ваш ответ верен!</ResultTextTrue>
<ResultTextFalse>Ваш ответ не верен!</ResultTextFalse>
</test>
И код javascript
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
<script type="text/javascript" src="jquery.js"></script>
<script src="script.js" type="text/javascript"></script>
<script type="text/javascript">
var answer={}
$(document).ready(function(){
$.ajax({
type: "GET",
url: "test.xml",
dataType: "xml",
success: vasa
});
function vasa(xml) {
question=$(xml).find('question')[0].textContent;
$('.cont').append('<p><label><h4>'+question+'</h4></label></p>');
TextButton=$(xml).find('TextButton')[0].textContent;
$('.onki').append('<p><label><h4>'+TextButton+'</h4></label></p>');
TextButton=$(xml).find('TextButton')[1].textContent;
$('.lolki').append('<p><label><h4>'+TextButton+'</h4></label></p>');
ResultTextTrue=$(xml).find('ResultTextTrue')[0].textContent;
ResultTextFalse=$(xml).find('ResultTextFalse')[0].textContent;
var answers = $(xml).find('answer');
answers.each(function(index){
var a = this.textContent;
var rating = +this.getAttribute('rating');
$('.cont').append(' <input size=20 name="group1" type="radio">'+a+'');
answer[index] = rating;
});
question1=$(xml).find('question1')[0].textContent;
$('.bond').append('<p><label><h4>'+question1+'</h4></label></p>');
var answers = $(xml).find('answer1');
answers.each(function(index){
var a = this.textContent;
var rating = +this.getAttribute('rating');
$('.bond').append(' <input size=20 name="group2" type="radio">'+a+'');
answer[index] = rating;
});
var div = document.getElementById('id')
var decoration = xml.querySelector('style');
div.style.border = decoration.getAttribute('border');
div.style.width = decoration.getAttribute('width');
div.style.height = decoration.getAttribute('hight');
div.style.padding = decoration.getAttribute('padding');
div.style.margin = decoration.getAttribute('margin');
}
});
function checkAnswer() {
var error = false;
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length ; i++){
var checked = inputs[i].checked;
var right = answer[i] == 1;
if (checked !== right){
error=true;
break;
}
}
output.value=error ? ''+ResultTextFalse+'' : ''+ResultTextTrue+'';
return false;
}
</script>
</head>
<body>
<form onsubmit="return checkAnswer()">
<div id="id">
<div class='cont' ></div>
<div class='bond'></div>
</div>
<p><button type="submit"><div class='onki'></div></button> <button type="reset"><div class='lolki'></div></button></p>
<p><textarea id="output" readonly></textarea></p>
</form>
</body>
</html>
Скажите пожалуста на момент добавления второго блока ответов и вопросов в
answer[index] = rating;
што будет хранитса,как я понимаю то это же массив и при втором считывании ответов,туда добивтса как-бы второй верный ответ,правильно?тогда почему оно работает не коректно и всегда выдаёт что вы ответили неверно?
Типа у меня есть две разные групы радиобаттонов ответы у обоих задаютса как
rating="1"
И получаетса что у второго вопроса правильного ответа как-бы нет,а у 1 правильный ответ есть.и в answer хранитса ответ только первого вопроса.Как будет коректно задавать правильные ответы.
Или ошибка состоит в самой проверке?