Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не засчитывает ответы теста / 2 сообщений из 2, страница 1 из 1
15.03.2015, 12:35
    #38905161
Артемон
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не засчитывает ответы теста
Ребят, нужна помощь в создании теста на javascript. Не получается сделать вопросы с вводом текста и множеством вариантов ответов. Как это сделать. В javascript не силен.
...
Рейтинг: 0 / 0
15.03.2015, 22:58
    #38905414
Не засчитывает ответы теста
Артемон,

тут у 5 и 8 вопросов надо поменять цветовую гамму, а то не видно цифры у номеров вопросов... Также я убрал бы нумерацию у ответов, т.е. вместо
Код: html
1.
2.
3.
1. alert('Привет')
2. document.write('Привет')
3. document.print('Привет')

сделать просто
Код: html
1.
2.
3.
alert('Привет')
document.write('Привет')
document.print('Привет')


АртемонНе получается сделать вопросы с вводом текста и множеством вариантов ответов Варианты ответов лучше хранить в массиве, там и для единичных и для множества - один алгоритм будет.
Правильные варианты ответов в массиве answ. Например, для первого вопроса - надо одновременно поставить галочки у 1 и 4 варианта
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
<!DOCTYPE HTML>
<html> <head> <title>Вопросы</title>
<style>
* {margin:0; padding:0; font:15px Arial;}
.question {
  padding:10px;
  background:#4682B4;
  color:#fff;
}
.answer {margin-bottom:24px;}
.answer label{
  display:block;
  padding:5px 5px 2px 10px;
}
.cmd {
  border:1px solid #d1d1d1;
  border-radius:4px;
  font:11px Tahoma,Arial,'MS Sans Serif','sans-serif';
  cursor:pointer;
  width:70px;
  margin-left:3px;
  padding:4px 5px;
  text-align:center;
  background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iI2VjZWNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNmU2ZTYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
}
.cmd:active {padding:5px 4px 3px 6px;}
#res {
  margin:20px 1px;
  padding:10px 5px;
  background:#FFD700;
}
</style>
<body>
<div class="question">1. Кто убил Сару Лэнс?</div>
<div class="answer">
  <label><input type="checkbox"> Тея Куин</label>
  <label><input type="checkbox"> Малькольм Мерлин</label>
  <label><input type="checkbox"> Слейд Уилсон</label>
  <label><input type="checkbox"> Чего-то темнят сценаристы</label>
</div>
<div class="question">2. Что случилось с Фелисити?</div>
<div class="answer">
  <label><input type="checkbox"> Обнаглела</label>
  <label><input type="checkbox"> Запуталась</label>
  <label><input type="checkbox"> А кто ж её знает?</label>
</div>
<div class="question">3. Почему не очень довольны фанаты сериала?</div>
<div class="answer">
  <label><input type="checkbox"> Много логических промахов</label>
  <label><input type="checkbox"> Перебор соплей</label>
  <label><input type="checkbox"> Уменьшается % экшена</label>
</div>
<div class="question">4. Здесь надо выбрать один пункт</div>
<div class="answer">
  <label><input type="radio" name="quest4"> Нет</label>
  <label><input type="radio" name="quest4"> Да</label>
</div>

<table> <tr>
  <td> </td> <td><div class="cmd" onclick="ShowResult();">Закончить</div></td> <td><div class="cmd" onclick="ResetChk();">Сброс</div></td>
</tr> </table>

<div id="res"></div>

<script>
ResetChk();

function gid (idx) {return document.getElementById(idx);}

function ResetChk() {
  gid('res').style.display = 'none';
  var chk = document.getElementsByTagName('input');
  for (i=0; i < chk.length; i++) {
    if (chk[i].type == 'checkbox' || chk[i].type == 'radio') {chk[i].checked = false;}
  }
}

function ShowResult() {
  var answ = [
  '1,4',
  '2,3',
  '1,2,3',
  '2'
  ];

  var cnt = 0, k = [];
  var a = document.getElementsByClassName('answer');
  for (i=0; i<a.length; i++) {
    for (j=0; j<a[i].children.length; j++) {
      if (a[i].children[j].children[0].checked) {k.push(j+1)}
    }
    if(k.join() == answ[i]) {cnt++};
    k = [];
  }

  gid('res').innerHTML = 'Количество правильных ответов: ' + cnt;
  gid('res').style.display = 'block';
}
</script>
</body>
</html>

...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не засчитывает ответы теста / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]