Javascript.RU

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

Помогите найти ошибку
Добрый день, помоги найти в чем причина не работы кода, а именно нет никакой реакции на условия
if (answer[0].checked) VC1=25;
if (answer[1].checked) VB1=25;
if (answer[2].checked) VA1=25;
if (answer[3].checked) VD1=25;....
Суть в том, что нужно создать тест, котором ответив на вопросы, с помощью кнопки "Завершить тест" выводится результат: сколько % ответов выбрано типа A,B,C,D. Всего 4 вопроса и 4 варианта ответа, соответственно на каждый тип ответа приходиться по 25%.
Всё работает кроме подсчета результатов.
Сразу скажу, что код написан очень коряво, так как я новичок в этом деле.

<head>
<meta charset="utf-8">
<title>Тест</title>
</head>

<body>
            <h2><center>Несложный Тест</center></h2>
<script type="text/javascript">

//Массив, в котором содержаться вопросы (всего 4 вопроса)  
var q=new Array ( 
 'Вопрос 1.',  'Вопрос 2.','Вопрос 3.', 'Вопрос 4.');
//Массив, в котором содержаться ответы. 4 варианта ответа с типом A,B,C,D
var answer = new Array (
 '11q','12q,'13q','14q','21q','22q','23q','24q','31q','32q','33q ','34q','41q','42q','43q','44q');


//Идёт вывод массивов (оформлено в таблице)
document.writeln ('<form name="f1" action="" method="post">'+
   '<table width="90%" align="center" border="0" cellpadding="4" cellspacing="0">'
);


 document.writeln ('<tr><td align="center"></td><td>'+q[0]+'</td></tr>');for (var j=0; j<4; j++)
 document.writeln ('<tr><td align="center"></td><td><input type="radio" name="r1" >'+answer[j]+'</td></tr>');

 document.writeln ('<tr><td align="center"></td><td>'+q[1]+'</td></tr>');for (var k=4; k<8; k++)
 document.writeln ('<tr><td align="center"></td><td> <input type="radio" name="r2" >'+answer[k]+'</td></tr>');

  document.writeln ('<tr><td align="center"></td><td>'+q[2]+'</td></tr>');for (var l=8; l<12; l++)
 document.writeln ('<tr><td align="center"></td><td><input type="radio" name="r3" >'+answer[l]+'</td></tr>');

  document.writeln ('<tr><td align="center"></td><td>'+q[3]+'</td></tr>');for (var h=12; h<16; h++)
 document.writeln ('<tr><td align="center"></td><td><input type="radio" name="r4" >'+answer[h]+'</td></tr>');


// Вывод результатов происходит с помощью кнопки и функции results()
document.writeln ('</table><center><input type="button" value="Завершить тест" onclick="results();"><input type="reset" value="Очистить"></center></form>'); 

function results()
{

  var VA1=0; VB1=0; VC1=0; VD1=0; VA2=0; VB2=0; VC2=0; VD2=0; VA3=0; VB3=0; VC3=0; VD3=0; VA4=0; VB4=0; VC4=0; VD4=0;
// УСЛОВИЯ
  if (answer[0].checked) VC1=25;
  if (answer[1].checked) VB1=25;
  if (answer[2].checked) VA1=25;
  if (answer[3].checked) VD1=25;

  if (answer[4].checked) VB2=25;
  if (answer[5].checked) VC2=25;
  if (answer[6].checked) VD2=25;
  if (answer[7].checked) VA2=25;

  if (answer[8].checked) VD3=25;
  if (answer[9].checked) VC3=25;
  if (answer[10].checked) VA3=25;
  if (answer[11].checked) VB3=25;

  if (answer[12].checked) VB4=25;
  if (answer[13].checked) VA4=25;
  if (answer[14].checked) VD4=25;
  if (answer[15].checked) VC4=25;


  var VA = VA1 + VA2 + VA3 + VA4;
  var VB = VB1 + VB2 + VB3 + VB4;
  var VC = VC1 + VC2 + VC3 + VC4;
  var VD = VD1 + VD2 + VD3 + VD4;

  alert('Результаты тестирования: вопросов типа A выбрано '+VA+'%,  типа B - '+VB+'%, С - '+VC+'%, D - '+VD+'%');
}

   </script>
 </body>
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2013, 14:49
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

'11q','12q','13q','14q','21q','22q','23q','24q','31q','32q','33q ','34q','41q','42q','43q','44q');


Пропустили ковычку пере запятой
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2013, 16:21
Новичок на форуме
Отправить личное сообщение для TatyanaSPK Посмотреть профиль Найти все сообщения от TatyanaSPK
 
Регистрация: 07.11.2013
Сообщений: 3

Это опечатка, когда код вводила, в оригинале всё на месте.
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2013, 16:42
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

..

Последний раз редактировалось Faab, 07.11.2013 в 16:45.
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2013, 16:52
Новичок на форуме
Отправить личное сообщение для TatyanaSPK Посмотреть профиль Найти все сообщения от TatyanaSPK
 
Регистрация: 07.11.2013
Сообщений: 3

Всё, ошибка найдена и исправлена.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в простом скрипет Mekasan Общие вопросы Javascript 3 05.08.2013 12:02
onmauseover помогите найти ошибку realgleb Общие вопросы Javascript 2 30.08.2012 11:53
выбрать и изменить стиль элемента. Помогите найти ошибку nabiullin11 Элементы интерфейса 16 02.09.2011 11:23
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37
Помогите найти ошибку. boneg Элементы интерфейса 1 21.09.2010 22:20