Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2014, 20:57
Новичок на форуме
Отправить личное сообщение для Kryloff Посмотреть профиль Найти все сообщения от Kryloff
 
Регистрация: 28.12.2014
Сообщений: 2

Помогите пожалуйста с тестом!!!
Имеется тест, который выводит оценку и кол-во правильных ответов. Необходимо, чтобы тест еще выводил номера вопросов где ответили не правильно. Помогите пожалуйста!!!

Код:
<html>
	<head>
        <meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="Form1.css">
        <script type="text/javascript">
        var d=document, rez=0, 
        ball=1,            //балл за вопрос
        vsego=5,           //всего вопросов
        count=0;           //Кол-во правильных ответов
        function stopTest(){

var i=0;

//Первый вопрос 
    for(i=0; i<d.getElementsByName("q1").length; i++){
    
    if(d.getElementsByName("q1")[i].checked) {
      
    if(i==2){rez+=5; count++;}      
    }
    
}    


//Второй вопрос            
    for(i=0; i<d.getElementsByName("q2").length; i++){
    
    if(d.getElementsByName("q2")[i].checked) {
      
    if(i==4){rez+=5; count++;}      
    }
}    
        
//Третий вопрос 
    for(i=0; i<d.getElementsByName("q3").length; i++){
    
    if(d.getElementsByName("q3")[i].checked) {
      
    if(i==2){rez+=5; count++;}      
    }
}    

//Четвертый вопрос 
    for(i=0; i<d.getElementsByName("q4").length; i++){
    
    if(d.getElementsByName("q4")[i].checked) {
      
    if(i==3){rez+=5; count++;}      
    }
}    
            
//Пятый вопрос   
            
    for(i=0; i<d.getElementsByName("q5").length; i++){
    
    if(d.getElementsByName("q5")[i].checked) {
      
    if(i==5){rez+=5; count++;}      
    }
}    
        
        alert('Ваша оценка '+((rez/ball)/vsego)*1+' \nВы правильно ответили на '+count+ ' вопросов из '+vsego+'.');
        
            
location.reload(true);
rez=0;
count=0;
}
        </script>
	</head>
	<style>
		body {
		
	background: url(1.jpg) no-repeat 100%;
	background-attachment:fixed;
		}
	</style>
	<body>
	
		<form method="get" name="formname" onsubmit="return checkForm();">

		<div id="header"><center><h2><i>Ответьте на вопросы!</i></h2></center></div>
		<div id="blok1">
		<center><h4 name="v1">1. Сколько будет 2+2*5?</h4></center>
		<input type="radio" name="q1">25<br>
		<input type="radio" name="q1">20<br>
		<input type="radio" name="q1">12<br>
		<input type="radio" name="q1">30<br>
		<input type="radio" name="q1">35<br>
		<input type="radio" name="q1">50<br>
		</div>
		<div id="blok2">
		<center><h4>2. Какая самая богатая страна мира?</h4></center>
		<input type="radio" name="q2">США<br>
		<input type="radio" name="q2">Россия<br>
		<input type="radio" name="q2">Китай<br>
		<input type="radio" name="q2">Канада<br>
		<input type="radio" name="q2">Катар<br>
		<input type="radio" name="q2">Германия<br>
		</div>
		
		<div id="blok3">
		<center><h4>3. Как называется наша галактика?</h4></center>
		<input type="radio" name="q3">Галактика Андромеды<br>
		<input type="radio" name="q3">Комета<br>
		<input type="radio" name="q3">Млечный путь<br>
		<input type="radio" name="q3">Объект Мейола<br>
		<input type="radio" name="q3">Водоворот<br>
		<input type="radio" name="q3">Веретено<br>
		</div>
		
		<div id="blok4">
		<center><h4>4. Кто основал компанию Microsoft?</h4></center>
		<input type="radio" name="q4">Стив Джобс<br>
		<input type="radio" name="q4">Ларри Пейдж<br>
		<input type="radio" name="q4">Акио Морито<br>
		<input type="radio" name="q4">Билл Гейтс<br>
		<input type="radio" name="q4">Фредерик Идестам<br>
		<input type="radio" name="q4">Вернер Сименс<br>
		</div>
		
		<div id="blok5">
		<center><h4>5. Какое самое быстрое животное в мире?</h4></center>
		<input type="radio" name="q5">Лев<br>
		<input type="radio" name="q5">Зебра<br>
		<input type="radio" name="q5">Газель<br>
		<input type="radio" name="q5">Заяц<br>
		<input type="radio" name="q5">Собака<br>
		<input type="radio" name="q5">Гепард<br>
		</div>
		
		<div id="blok6">
		<center><h4>Нажмите на кнопку ниже, чтобы узнать результат.</h4></center>
		<input style="margin-left:43px;" type="button" value="Принять ответ" name="ok" onclick="stopTest()"/>
        <input type="reset" value="Сбросить тест"/>    
		</div>
		</form>
	</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 29.12.2014, 00:01
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

<html>
	<head>
<meta charset="windows-1251" />

	<link rel="stylesheet" type="text/css" href="Form1.css">
	<style>
		body {
		
	background: url(1.jpg) no-repeat 100%;
	background-attachment:fixed;
		}
	</style>
	</head>

	<body>
	
		<form method="get" name="formname" onsubmit="return checkForm();">

		<div id="header"><center><h2><i>Ответьте на вопросы!</i></h2></center></div>
		<div id="block1">
		<center><h4 name="v1">1. Сколько будет 2+2*5?</h4></center>
		<input type="radio" name="q1">25<br>
		<input type="radio" name="q1">20<br>
		<input type="radio" name="q1">12<br>
		<input type="radio" name="q1">30<br>
		<input type="radio" name="q1">35<br>
		<input type="radio" name="q1">50<br>
		</div>
		<div id="block2">
		<center><h4>2. Какая самая богатая страна мира?</h4></center>
		<input type="radio" name="q2">США<br>
		<input type="radio" name="q2">Россия<br>
		<input type="radio" name="q2">Китай<br>
		<input type="radio" name="q2">Канада<br>
		<input type="radio" name="q2">Катар<br>
		<input type="radio" name="q2">Германия<br>
		</div>
		
		<div id="block3">
		<center><h4>3. Как называется наша галактика?</h4></center>
		<input type="radio" name="q3">Галактика Андромеды<br>
		<input type="radio" name="q3">Комета<br>
		<input type="radio" name="q3">Млечный путь<br>
		<input type="radio" name="q3">Объект Мейола<br>
		<input type="radio" name="q3">Водоворот<br>
		<input type="radio" name="q3">Веретено<br>
		</div>
		
		<div id="block4">
		<center><h4>4. Кто основал компанию Microsoft?</h4></center>
		<input type="radio" name="q4">Стив Джобс<br>
		<input type="radio" name="q4">Ларри Пейдж<br>
		<input type="radio" name="q4">Акио Морито<br>
		<input type="radio" name="q4">Билл Гейтс<br>
		<input type="radio" name="q4">Фредерик Идестам<br>
		<input type="radio" name="q4">Вернер Сименс<br>
		</div>
		
		<div id="block5">
		<center><h4>5. Какое самое быстрое животное в мире?</h4></center>
		<input type="radio" name="q5">Лев<br>
		<input type="radio" name="q5">Зебра<br>
		<input type="radio" name="q5">Газель<br>
		<input type="radio" name="q5">Заяц<br>
		<input type="radio" name="q5">Собака<br>
		<input type="radio" name="q5">Гепард<br>
		</div>
		
		<div id="block6">
		<center><h4>Нажмите на кнопку ниже, чтобы узнать результат.</h4></center>
		<input style="margin-left:43px;" type="button" value="Принять ответ" name="ok"/>
        <input type="reset" value="Сбросить тест"/>    
		</div>
		</form>
<script>

        ball=1,            //балл за вопрос

answers={q1: 1, q2: 0, q3: 2, q4: 3, q5: 5}
document.getElementsByName("ok")[0].onclick=function(){

   var  count=0
   "block1 block2 block3 block4 block5"
   .split(" ")
   .map(function(id){return document.getElementById(id).querySelectorAll("input")})
   .forEach(function(collection){for(var i=0; i<collection.length; i++){
      if((collection[i].checked)&&(answers[collection[i].name]===i)) count++ }})
   alert("Ваша оценка: "+count*ball+". Вы ответили на "+count+" вопросов из 5")

}

</script>


	</body>
</html>

PS не понял вашей мудреной системы начисления баллов за оценки. Я в математике не силен. В моем варианте, тупо начисление балла за каждый правильный ответ. Сбрасывать тест тоже непонятно зачем, все равно невозможно установить больше 1 флага на блок.

Последний раз редактировалось krutoy, 29.12.2014 в 00:06.
Ответить с цитированием
  #3 (permalink)  
Старый 29.12.2014, 00:14
Новичок на форуме
Отправить личное сообщение для Kryloff Посмотреть профиль Найти все сообщения от Kryloff
 
Регистрация: 28.12.2014
Сообщений: 2

Спасибо конечно, но результат тот же, что и у меня. Мне нужно, чтобы показывало дополнительно вопросы на которые не правильно ответил
Ответить с цитированием
  #4 (permalink)  
Старый 29.12.2014, 00:37
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Так чтоли?
<html>
	<head>
<meta charset="windows-1251" />

	<link rel="stylesheet" type="text/css" href="Form1.css">
	<style>
		body {
		
	background: url(1.jpg) no-repeat 100%;
	background-attachment:fixed;
		}
	</style>
	</head>

	<body>
	
		<form method="get" name="formname" onsubmit="return checkForm();">

		<div id="header"><center><h2><i>Ответьте на вопросы!</i></h2></center></div>
		<div id="block1">
		<center><h4 name="v1">1. Сколько будет 2+2*5?</h4></center>
		<input type="radio" name="q1">25<br>
		<input type="radio" name="q1">20<br>
		<input type="radio" name="q1">12<br>
		<input type="radio" name="q1">30<br>
		<input type="radio" name="q1">35<br>
		<input type="radio" name="q1">50<br>
		</div>
		<div id="block2">
		<center><h4>2. Какая самая богатая страна мира?</h4></center>
		<input type="radio" name="q2">США<br>
		<input type="radio" name="q2">Россия<br>
		<input type="radio" name="q2">Китай<br>
		<input type="radio" name="q2">Канада<br>
		<input type="radio" name="q2">Катар<br>
		<input type="radio" name="q2">Германия<br>
		</div>
		
		<div id="block3">
		<center><h4>3. Как называется наша галактика?</h4></center>
		<input type="radio" name="q3">Галактика Андромеды<br>
		<input type="radio" name="q3">Комета<br>
		<input type="radio" name="q3">Млечный путь<br>
		<input type="radio" name="q3">Объект Мейола<br>
		<input type="radio" name="q3">Водоворот<br>
		<input type="radio" name="q3">Веретено<br>
		</div>
		
		<div id="block4">
		<center><h4>4. Кто основал компанию Microsoft?</h4></center>
		<input type="radio" name="q4">Стив Джобс<br>
		<input type="radio" name="q4">Ларри Пейдж<br>
		<input type="radio" name="q4">Акио Морито<br>
		<input type="radio" name="q4">Билл Гейтс<br>
		<input type="radio" name="q4">Фредерик Идестам<br>
		<input type="radio" name="q4">Вернер Сименс<br>
		</div>
		
		<div id="block5">
		<center><h4>5. Какое самое быстрое животное в мире?</h4></center>
		<input type="radio" name="q5">Лев<br>
		<input type="radio" name="q5">Зебра<br>
		<input type="radio" name="q5">Газель<br>
		<input type="radio" name="q5">Заяц<br>
		<input type="radio" name="q5">Собака<br>
		<input type="radio" name="q5">Гепард<br>
		</div>
		
		<div id="block6">
		<center><h4>Нажмите на кнопку ниже, чтобы узнать результат.</h4></center>
		<input style="margin-left:43px;" type="button" value="Принять ответ" name="ok"/>
        <input type="reset" value="Сбросить тест"/>    
		</div>
		</form>
<script>

        ball=1,            //балл за вопрос

answers={q1: 1, q2: 0, q3: 2, q4: 3, q5: 5}
document.getElementsByName("ok")[0].onclick=function(){

   var  count=0, wrong=[], noAnswer=[]
   "block1 block2 block3 block4 block5"
   .split(" ")
   .map(function(id){return document.getElementById(id).querySelectorAll("input")})
   .forEach(function(collection){
    var tmp=collection[0].name[1];
    for(var i=0; i<collection.length; i++){
      if(collection[i].checked){
        if(answers[collection[i].name]===i) return count++; return wrong.push(tmp)}} noAnswer.push(tmp)})
  
   alert("Ваша оценка: "+count*ball+".\nВы ответили на "+count+" вопросов из 5\n"+"Неверные ответы на вопросы: "+wrong+"\nНет ответов на вопросы: "+noAnswer)
  
}

</script>


	</body>
</html>

Последний раз редактировалось krutoy, 29.12.2014 в 01:07.
Ответить с цитированием
  #5 (permalink)  
Старый 29.12.2014, 01:19
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Kryloff,
Да, и вот еще что, сразу не обратил внимания, у вас там самая богатая страна -- толи канада, то ли катар, (с какого хрена?), если все правильно, исправте в answers={q1: 1, q2: 0, q3: 2, q4: 3, q5: 5}, если это не ошибка, я там США поставил, есличо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слайдер - карусель блоков (помогите пожалуйста) Viktor.Poberezhniy Общие вопросы Javascript 3 22.07.2014 12:46
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите пожалуйста с тестом alex-chrono Общие вопросы Javascript 0 14.11.2012 19:23
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Помогите пожалуйста девушке разобраться Feni4ka jQuery 10 26.04.2011 19:25