Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
3 / 3 / 3
Регистрация: 18.11.2011
Сообщений: 286
1

Тест на html

29.11.2013, 04:01. Показов 2679. Ответов 10
Метки нет (Все метки)

здравствуйте.
Необходимо сделать 3 вопроса (тест) на hmtl следующим образом:

Укажите границы восприятия звука человеком?
Нижняя - _____
Верхняя - _____

Т.е введенное в текстбокс число проверяется на соответствие с эталоном

Проверка ответа на совпадение с эталоном должна осуществляться с заданной точностью (например 5%).
И потом выдаваться сообщение как тут

Подскажите,как реализовать?
Это последние три вопроса т.е 8\9\10


HTML5
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<div id="vopr">
      <br>
Медиа-мониторинг это ...<br>
<input name=v1 onclick="vopr1true()" type="radio">это отслеживание ключевых слов и выражений по открытым источникам, подобранных профессионалами по заказу клиента. 
      <br>
      <input name=v1 type="radio">Это круглосуточный просмотр медиа-файлов<br>
       <input name=v1 type="radio">Это наблюдение за статистикой просмотров медиа-контента в сети<br>
        <input name=v1 type="radio">Анализ медиа-контента на сайте<br>
      <hr> 
      
      Выберите еще одно название "Конкурентной разведки"<br>
      <input name=v2 type="radio">Поисковая разведка
      <br>
      <input name=v2 type="radio" onclick="vopr2true();">Бизнес-разведка
      <br>
      <input name=v2 type="radio">Скрытая разведка<br>
      <input name=v2 type="radio">Коммерческая разведка
      <hr>
      
     Выберите несуществующий вид сайта (для Сетевой разведки)<br>
      <input name=v3 type="radio">Сайты для жалоб
      <br>
      <input name=v3 type="radio" >Сайты обратной связи<br>
      <input name=v3 type="radio">Рейтинговые сайты<br>
      <input name=v3 type="radio"onclick="vopr3true();">Сообщество покупателей
      <hr>
    </div>
   Сколько существует основных версий появления конкурентной разведки?<br>
      <input name=v4 type="radio">4
      <br>
      <input name=v4 type="radio" onclick="vopr4true();">2<br>
      <input name=v4 type="radio">1<br>
      <input name=v4 type="radio">3
      <hr>
    </div>
 
Первое, что должна делать организация, создавая свою ____ и завоевывая рынок - провести ____-разведку.<br>
      <input name=v5 type="radio">схему,внешнюю
      <br>
      <input name=v5 type="radio" onclick="vopr5true();">стратегию,бизнес<br>
      <input name=v5 type="radio">территорию,конкуретную<br>
      <input name=v5 type="radio">политику,
      <hr>
    </div><br>
 
Первая версия называет родоначальником конкурентной разведки ____, точнее его работу ____ года. .<br>
      <input name=v6 type="radio">Бэрбиджа,1957
      <br>
      <input name=v6 type="radio" onclick="vopr6true();">Портера,1980<br>
      <input name=v6 type="radio">Байера,1993<br>
      <input name=v6 type="radio">Хокинса,1974,
      <hr>
    </div>
   Датой появления первой документально подтвержденной конкурентной разведки принято считать конец ___ века. .<br>
      <input name=v7 type="radio">XXI
      <br>
      <input name=v7 type="radio" onclick="vopr7true();">XIV<br>
      <input name=v7 type="radio">XIX<br>
      <input name=v7 type="radio">XV,
      <hr>
    </div>
 
 
 
 
 
   <button onclick="otvety();">Закончить тест</button>
    <div id="otvety" style="display:none">
      <div id="1" style="background:#f00">1-неправильно</div>
      <div id="2" style="background:#f00">2-неправильно</div>
      <div id="3" style="background:#f00">3-неправильно</div>
      <div id="4" style="background:#f00">4-неправильно</div>
      <div id="5" style="background:#f00">5-неправильно</div>
      <div id="6" style="background:#f00">6-неправильно</div>
        <div id="7" style="background:#f00">7-неправильно</div>
          <div id="8" style="background:#f00">8-неправильно</div>
            <div id="9" style="background:#f00">9-неправильно</div>
              <div id="10" style="background:#f00">10-неправильно</div>
    </div>
    <script>
      function vopr1true() {
        document.getElementById("1").style.background = "#0f0";
        document.getElementById("1").innerHTML = "1-правильно";
      }
 
      function vopr2true() {
        document.getElementById("2").style.background = "#0f0";
        document.getElementById("2").innerHTML = "2-правильно";
      }
    function vopr3true() {
        document.getElementById("3").style.background = "#0f0";
        document.getElementById("3").innerHTML = "3-правильно";
      }
         function vopr4true() {
        document.getElementById("4").style.background = "#0f0";
        document.getElementById("4").innerHTML = "4-правильно";
      }
      
      function vopr5true() {
        document.getElementById("5").style.background = "#0f0";
        document.getElementById("5").innerHTML = "5-правильно";
      }
        function vopr6true() {
        document.getElementById("6").style.background = "#0f0";
        document.getElementById("6").innerHTML = "6-правильно";
      }
      function vopr7true() {
        document.getElementById("7").style.background = "#0f0";
        document.getElementById("7").innerHTML = "7-правильно";
      }
      function vopr8true() {
        document.getElementById("8").style.background = "#0f0";
        document.getElementById("8").innerHTML = "8-правильно";
      }
      function vopr9true() {
        document.getElementById("9").style.background = "#0f0";
        document.getElementById("9").innerHTML = "9-правильно";
      }
      function vopr10true() {
        document.getElementById("10").style.background = "#0f0";
        document.getElementById("10").innerHTML = "10-правильно";
      }
      function otvety() {
        document.getElementById("otvety").style.display = "block";
        for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
          document.getElementsByTagName("input")[i].disabled = true
        }        
      }
    </script>
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 04:01
Ответы с готовыми решениями:

тест в html
Подскажите пожалуйста или хотябы ссылки....в html надо реализовать тест на время(время от 0 до 5...

Тест по HTML
в документе вопросы и ответы,Где у меня ошибки?(

Тест на HTML
Здравствуйте! Мне нужно написать Тест на ХТМЛ, но что писать, я незнаю, там вопрос и 4 варианта...

Тест в html
Добрый вечер, хотел бы спросить как можно в тесте написанного в html, сделать выборку из n-базы...

10
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
01.12.2013, 03:08 2
Переписал полностью ваш тест, ибо такое количество функций, 1 под каждый вопрос, это явно не правильно.
Обрабатывает вопросы типа radio и text.

Если вдруг появитесь и понадобится, напишите, закомментирую код.

Единственное что не делается, это проверка введены ли в поле числа а не что то другое, если что позже, но в любом случае, ответ будет неверен при вводе не верного ответа.

Ну и на закуску:
Тесты на js не выход, если ваш испытуемый мало мальски знаком с js

HTML5
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<html>
    <head>
        <title>Тест</title>
        <script>
            function voprtrue() 
            {
                //Здесь задаём переменные правильных значений ответов.
                //Можно переделать в массив, но для 3 вопросов уже лень
                var v_true8 = 50; // Переменная правильного значения нижней границы
                var v_true9 = 100; // Переменная правильного значения верхней границы
                var check;
                var j;
                var i;
                if (document.getElementById("id1")) 
                {
                    return alert("Результаты уже отображены");
                } 
                
                else
                {
                    var v = 1;
                    for (j=1; j<9; j++)
                    {
                        
                        var d=document.createElement('div');
                        d.id = "id"+j;
                        d.style.width='100%';
                        d.style.height='20px';
                        
                        check = 0;
                        if (document.getElementsByName("v"+j+"")[0].type == "radio")
                        {
                            for (i=0; i<document.getElementsByName("v"+j+"").length; i++) 
                            {
                                if (document.getElementsByName("v"+j+"")[i].checked) 
                                {
                                    check = 1;
                                    
                                    if (document.getElementsByName("v"+j+"")[i].value == 1)
                                    {
                                        d.style.background=' lightgreen ';
                                        document.body.appendChild(d)
                                        var li = document.createElement('LI')
                                        li.innerHTML = v+' вопрос: верно'
                                        d.appendChild(li)
                                    }
                                    else
                                    {
                                        d.style.background=' red ';
                                        document.body.appendChild(d)
                                        var li = document.createElement('LI')
                                        li.innerHTML = v+' вопрос: не верно'
                                        d.appendChild(li)
                                    }
                                }
                            
                            }
                        }
                        else if (document.getElementsByName("v"+j+"")[0].type == "text")
                        {
                            if (document.getElementsByName("v"+j+"")[0].value != "")
                            {
                                check = 1;
                                //Если в природе нижняя 50 а верхняя 100(я не физик и не акустик)
                                if (document.getElementsByName("v"+j)[0].value > eval('v_true'+j)*0.95-1 && document.getElementsByName("v"+j)[0].value < eval('v_true'+j)*1.05+1 && document.getElementsByName("v"+(j+1))[0].value > eval('v_true'+(j+1))*0.95-1 && document.getElementsByName("v"+(j+1))[0].value < eval('v_true'+(j+1))*1.05+1)
                                {
                                    d.style.background=' lightgreen ';
                                    document.body.appendChild(d)
                                    var li = document.createElement('LI')
                                    li.innerHTML = v+' вопрос: верно'
                                    d.appendChild(li)
                                }
                                else
                                {
                                    d.style.background=' red ';
                                    document.body.appendChild(d)
                                    var li = document.createElement('LI')
                                    li.innerHTML = v+' вопрос: не верно'
                                    d.appendChild(li)
                                }
                            }
                            j++;
                        }
                        
                        if (check == 0 && check == "")
                        {
                            d.style.background=' #B1BBC6 ';
                            document.body.appendChild(d)
                            var li = document.createElement('LI')
                            li.innerHTML = v+' вопрос: пропущен!'
                            d.appendChild(li)
                        }
                        v++;
                    }
                }
 
            }
            
            function deleteResults() {
                for (j=1; j<9; j++) {
                document.getElementById("id"+j).parentNode.removeChild(document.getElementById("id"+j));
                }
            }
        </script>
    </head>
    <body>
        <div id="questions">
            <p>Медиа-мониторинг это ...<br></p>
            <input name=v1 type="radio" value="1">это отслеживание ключевых слов и выражений по открытым источникам, подобранных профессионалами по заказу клиента.<br>
            <input name=v1 type="radio">Это круглосуточный просмотр медиа-файлов<br>
            <input name=v1 type="radio">Это наблюдение за статистикой просмотров медиа-контента в сети<br>
            <input name=v1 type="radio">Анализ медиа-контента на сайте<br>
            <hr>
 
            <p>Выберите еще одно название "Конкурентной разведки"<br></p>
            <input name=v2 type="radio">Поисковая разведка<br>
            <input name=v2 type="radio" value="1">Бизнес-разведка<br>
            <input name=v2 type="radio">Скрытая разведка<br>
            <input name=v2 type="radio">Коммерческая разведка<br>
            <hr>
 
            <p>Выберите несуществующий вид сайта (для Сетевой разведки)<br></p>
            <input name=v3 type="radio">Сайты для жалоб<br>
            <input name=v3 type="radio">Сайты обратной связи<br>
            <input name=v3 type="radio">Рейтинговые сайты<br>
            <input name=v3 type="radio" value="1">Сообщество покупателей<br>
            <hr>
            
            <p>Сколько существует основных версий появления конкурентной разведки?<br></p>
            <input name=v4 type="radio">4<br>
            <input name=v4 type="radio">2<br>
            <input name=v4 type="radio" value="1">1<br>
            <input name=v4 type="radio">3<br>
            <hr>
            
            <p>Первое, что должна делать организация, создавая свою ____ и завоевывая рынок - провести ____-разведку.<br></p>
            <input name=v5 type="radio">схему,внешнюю<br>
            <input name=v5 type="radio" value="1">стратегию,бизнес<br>
            <input name=v5 type="radio">территорию,конкуретную<br>
            <input name=v5 type="radio">политику,<br>
            <hr>
            
            <p>Первая версия называет родоначальником конкурентной разведки ____, точнее его работу ____ года. .<br></p>
            <input name=v6 type="radio">Бэрбиджа,1957<br>
            <input name=v6 type="radio" value="1">Портера,1980<br>
            <input name=v6 type="radio">Байера,1993<br>
            <input name=v6 type="radio">Хокинса,1974,<br>
            <hr>
            
            <p>Датой появления первой документально подтвержденной конкурентной разведки принято считать конец ___ века. .<br></p>
            <input name=v7 type="radio">XXI<br>
            <input name=v7 type="radio" value="1">XIV<br>
            <input name=v7 type="radio">XIX<br>
            <input name=v7 type="radio">XV,<br>
            <hr>
 
            <p>Укажите границы восприятия звука человеком?<br></p>
            <table>
                <tr>
                    <td>Нижняя граница:</td><td><input name=v8 type="text" value=""><br></td>
                </tr>
                <tr>
                    <td>Верхняя граница:</td><td><input name=v9 type="text" value=""><br></td>
                </tr>
            <hr>
        </div>
 
        <button onclick="voprtrue();">Закончить тест</button>
        <button onclick="deleteResults();">Пройти заново</button>
    </body>
</html>
0
283 / 282 / 73
Регистрация: 06.05.2013
Сообщений: 1,613
02.12.2013, 09:33 3
Цитата Сообщение от Студент-с Посмотреть сообщение
Ну и на закуску:
Тесты на js не выход, если ваш испытуемый мало мальски знаком с js

Не по теме:

Вот это стопроцентов!
:)

0
3 / 3 / 3
Регистрация: 18.11.2011
Сообщений: 286
02.12.2013, 21:56  [ТС] 4
Цитата Сообщение от Студент-с Посмотреть сообщение
Переписал полностью ваш тест, ибо такое количество функций, 1 под каждый вопрос, это явно не правильно.
Обрабатывает вопросы типа radio и text.
Здравствуйте.
Не совсем понял схему вопроса с проверкой.
Не могли бы показать еще один пример для каждого из этих (во вложении) 2-х типов вопросов с объяснением?
Тест на html
0
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
02.12.2013, 22:57 5
Цитата Сообщение от Nooby93 Посмотреть сообщение
Не могли бы показать еще один пример для каждого из этих 2-х типов вопросов с объяснением?
Могу конечно, для вас же делалось)

У меня конечно не идеальный скрипт, но какой есть.

Вообщем для добавления вопроса:
Тип radio(то есть выбор 1 из 1-9999 вариантов):
Вставляете
HTML5
1
2
3
4
5
6
            <p>Вопрос<br></p>
            <input name=vX type="radio" value="1">Ответ<br>
            <input name=vX type="radio">Ответ<br>
            <input name=vX type="radio">Ответ<br>
            <input name=vX type="radio">Ответ<br>
            <hr>
value="1" обозначает верный вариант ответа.

И увеличиваете цикл сверху и снизу на единицу:
Javascript
1
for (j=1; j<9; j++)
Например было от 1 до 9, стало от 1 до 10
Javascript
1
for (j=1; j<10; j++)
Тип text(то есть 2 текстовых поля мин и макс):
Вставляете
HTML5
1
2
3
4
5
6
7
8
9
10
<p>Вопрос<br></p>            
<table>
                <tr>
                    <td>Нижняя граница:</td><td><input name=v8 type="text" value=""><br></td>
                </tr>
                <tr>
                    <td>Верхняя граница:</td><td><input name=v9 type="text" value=""><br></td>
                </tr>
            <hr>
</table>
Я там кстати закрывающий тег </table> пропустил вроде

для каждого из 2-х инпутов свой name.
В переменных сверху указываете ваши верные значения для верхней и нижней границы:
Javascript
1
2
var v_true8 = 50; // Переменная правильного значения нижней границы
var v_true9 = 100; // Переменная правильного значения верхней границы
Важно, номер в переменной должен совпадать с номером в name инпута.

И увеличиваете цикл сверху и снизу уже на 2 единицы, так как добавляется 2 name'a:
Javascript
1
for (j=1; j<10; j++)
Например было от 1 до 9, стало от 1 до 12
Javascript
1
for (j=1; j<12; j++)
P.S. Номер вопроса в результатах внизу он считает другой переменной.

Надеюсь я вас не запутал.

Добавлено через 3 минуты
Правильность ответа, там где нижний и верхний порог, он считает +- 5% и округление в большую сторону, тоесть если 46,5 это -5%, то 46 ещё не будет ошибкой.
0
3 / 3 / 3
Регистрация: 18.11.2011
Сообщений: 286
06.12.2013, 01:42  [ТС] 6
Цитата Сообщение от Студент-с Посмотреть сообщение
Могу конечно, для вас же делалось)

У меня конечно не идеальный скрипт, но какой есть.
Здравствуйте.
Еще больше запутался.

Не могли бы вы объяснить еще раз?

Как переделать вопросы с 5-го по 7-й в такой формат как в прикрепленном изображении
Т.е чтобы вводися вариант из предложенных и потом если введен правильно то засчитывался.

И еще 2 примера любых вопросов третьего типа (пункт 3 на картинке)

Т.е как в случае с вопросом про верхнюю и нижнюю границы
1)В каком году родился Иван Иванов?
Правильный ответ - в 1980
И потом проверка на совпадение в 5% и вывод правильный\неправильный

2)Сколько лет Федору?
Правильный ответ - 27
И потом проверка на совпадение в 5% и вывод правильный\неправильный

На примере кода из этого сообщения
Никак не пойму методику,видимо неправильно пишу т.к кнопки закончить тест и результаты не работают.
Миниатюры
Тест на html  
0
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
06.12.2013, 08:47 7
Я под конец немного схалтурил, хотя следовало писать не так.
Для ваших новых требований он не совсем годен.

Скиньте мне все! вопросики, и какие должны быть овтеты на них.
И тогда я перепишу вам его так, чтобы работало так как вы хотите и так как вам нужно.

Если вы пытались вставить вопрос состоящий из одного текстового поля, вы так и не поняли суть)
Как овтетите. я перепишу и закоментирую.
1
3 / 3 / 3
Регистрация: 18.11.2011
Сообщений: 286
06.12.2013, 15:14  [ТС] 8
Цитата Сообщение от Студент-с Посмотреть сообщение
Я под конец немного схалтурил, хотя следовало писать не так.
Для ваших новых требований он не совсем годен.

Скиньте мне все! вопросики, и какие должны быть овтеты на них.
И тогда я перепишу вам его так, чтобы работало так как вы хотите и так как вам нужно.

Если вы пытались вставить вопрос состоящий из одного текстового поля, вы так и не поняли суть)
Как овтетите. я перепишу и закоментирую.

Первый тип вопросов (Вопросы 1-4)
Тут сказали доделать кое-что:
При неправильном ответе - ссылка на раздел документа, содержащий ответ.
Т.е если ответ выбран неправильно то переходил по соответствующей ссылке (можно проставить пока просто для каждого из-4х вопросов: site1.ru, site2.ru,site3.ru), если вариант выбран правильно, то как обычно т.е появлялось сообщение "правильно".

Второй тип вопросов
Идет предложение и в нем пропуски, на месте пропуска текстбокс.
Если в текстбокс введен верный вариант из нижеперечисленный то правильно,если нет - неправильно.

Третий тип вопросов
Проверка ответа введенного обучаемым на совпадение с эталоном должна осуществляться с заданной точностью (например 5%). Также выводится только правильно\неправильно, с учетом совпадения с эталоном с заданной точностью.

Вопросы прикрепил, верные варианты и ответы указал.

Первое фото - тип вопросов № 1 (верные варианты подчеркнуты красным)
Второе фото - тип вопросов № 3 (ответы подписаны в скобках)
Третье фото - тип вопросов № 2 (после верного варианта который должен быть на месте пропуска указано в скобках что это верный вариант)
Миниатюры
Тест на html   Тест на html   Тест на html  

0
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
12.12.2013, 11:56 9
Дописал, затянув, извините, сам учил отчасти)

Всё равно код грязный малец.
Комментарии как и обещал, не написал)
Позже, обед.

Чуть позже если вам нужно будет, вставлю проверку введено ли то что нужно в поле, чтобы в год не писали буквы и наоборот.
Ну и ещё что то если нужно говорите, или сами добавьте.

Ну и разнесите стили, js и html, хотя тут наверное вам удобнее одним файлом.

Javascript
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<html>
    <head>
        <title>Тест</title>
        <script>
            // Массив с ссылками на учебники (смотрим вопрос и выставляем по порядку)
            // Какой номер вопроса, такой и номер q
            var links = {
                q1: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q2: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q3: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q4: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q5: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q6: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q7: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98', 
                q8: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q9: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                q10: 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_%D0%A1%D0%9C%D0%98',
                };
            // Массив с верными значениями для вопросов с текстбоксами
            
            var answers = {
                ans5: 'бизнес',
                ans6: '1980',
                ans7: 'XIV',
                ans8: '2010',
                ans9: '1921',
                ans10: '1980',
                }
                
            var check, j, i,v = 1;
                
            function verifyResults() {
            
                if (document.getElementById('findings')) {
                    return alert('Результаты уже отображены');
                }
                else {
                    var findings = document.createElement('div');
                    findings.id = 'findings';
                    buttons.parentNode.insertBefore(findings, buttons);
 
                    v = 1;
                    for (j=1; j<=10; j++) {
                        check = 0;
                        
                        var isCorrect = function(value, answer) {
                                return value > answer*0.95-1 && value < answer*1.05+1;
                        };
                        var question = document.getElementsByName('v'+j)[0];
                        
                        if (question.type == 'radio') {
                        
                            for (i=0; i<document.getElementsByName('v'+j).length; i++) {
                            
                                if (document.getElementsByName('v'+j)[i].checked) {
                                    check = 1;
 
                                    if (document.getElementsByName('v'+j)[i].value == true) {
                                        printResults(1, v, j);
                                    } else {
                                        printResults(0, v, j);
                                    }
                                }
                            }
                        }
                        else if (question.type == 'text') {
                        
                            if (question.value != '') {
                                check = 1;
 
                                if (question.className == 'type1' && question.value == answers['ans'+j]) {
                                    printResults(1, v, j);
                                }
                                else if (question.className == 'type2' && isCorrect(question.value, answers['ans'+j])) {
                                    printResults(1, v, j);
                                } else {
                                    printResults(0, v, j);
                                }
                            }
                        }
 
                        if (check == 0 && check == '') printResults(2, v, j);
                        v++;
                    }
                }
                document.location.href = "#bot";
            }
            
            function printResults(status, v, j) {
                var spanTag = document.createElement('span');
                
                if (status == 1) {
                    spanTag.innerHTML = v+' вопрос: верно<br>';
                    spanTag.className = 'yesResult';
                } 
                else if (status == 0) {
                    spanTag.innerHTML = v+' вопрос: не верно - <a href=\"'+links['q'+j]+'\" target=\"_blank\">жмакнуть чтобы учить мат. часть</a><br>';
                    spanTag.className = 'noResult';
                } else {
                    spanTag.innerHTML = v+' вопрос: пропущен!<br>';
                    spanTag.className = 'otherResult';
                }
                    findings.appendChild(spanTag);
            }
            
            function deleteResults() {
                document.getElementById('findings').parentNode.removeChild(document.getElementById('findings'));
            }
        </script>
        <style>
        body {
            margin: 0px;
            padding: 0px;;
            background-color: #9C9C9C;
        }
        
        #content {
            width: 900px; 
            margin: 0 auto;
            padding: 0px;
            background-color: #fff;
            overflow: hidden;
        }
        
        #test {
            width: 99%;
            padding: 0px 7px;
        }
        
        #findings {
            width: 100%;
            margin: 0px 0px 5px 0px;
        }
        
        #buttons {
            width: 230px;
            margin 5 auto;
        }
        
        .type1, .type2 {
            background-color: #FCF4A1;
        }
        
        .yesResult, .noResult, .otherResult {
            width:99%;
            margin: 0px;
            padding: 0px 7px;
            display: block;
        }
        
        .yesResult {background-color: #eee;}
        .noResult {background-color: #eee;}
        .otherResult {background-color: #eee;}
        </style>
    </head>
    <body>
        <div id="content">
            <div id="test">
                <p>Медиа-мониторинг это ...<br></p>
                <input name=v1 type="radio" value="1">это отслеживание ключевых слов и выражений по открытым источникам, подобранных профессионалами по заказу клиента.<br>
                <input name=v1 type="radio">Это круглосуточный просмотр медиа-файлов<br>
                <input name=v1 type="radio">Это наблюдение за статистикой просмотров медиа-контента в сети<br>
                <input name=v1 type="radio">Анализ медиа-контента на сайте<br>
                <hr>
 
                <p>Выберите еще одно название "Конкурентной разведки"<br></p>
                <input name=v2 type="radio">Поисковая разведка<br>
                <input name=v2 type="radio" value="1">Бизнес-разведка<br>
                <input name=v2 type="radio">Скрытая разведка<br>
                <input name=v2 type="radio">Коммерческая разведка<br>
                <hr>
 
                <p>Выберите несуществующий вид сайта (для Сетевой разведки)<br></p>
                <input name=v3 type="radio">Сайты для жалоб<br>
                <input name=v3 type="radio">Сайты обратной связи<br>
                <input name=v3 type="radio">Рейтинговые сайты<br>
                <input name=v3 type="radio" value="1">Сообщество покупателей<br>
                <hr>
                
                <p>Сколько существует основных версий появления конкурентной разведки?<br></p>
                <input name=v4 type="radio">4<br>
                <input name=v4 type="radio" value="1">2<br>
                <input name=v4 type="radio">1<br>
                <input name=v4 type="radio">3<br>
                <hr>
                
                <p>Первое, что должна сделать организация, создавая свою стратегию и завоёвывая рынок - провести <input class="type1" name=v5 type="text" value=""> -разведку</p>
                <hr>
                
                <p>Первая версия называет родоначальником разведки Портера, точнее его работу <input class="type1" name=v6 type="text" value=""> года</p>
                <hr>
                
                <p>Датой появления первой документально подтверждённой конкурентной разведки принято считать конец <input class="type1" name=v7 type="text" value=""> века</p>
                <hr>
                
                <p>В каком году на Украине был проведён &laquo;KnowledgeCamp & Competitive Intelligence Camp&raquo;: 
                <br><input class="type2" name=v8 type="text" value=""></p>
                <hr>
                
                <p>В каком году В.И. Ленин распорядился учредить мониторинг СМИ?: 
                <br><input class="type2" name=v9 type="text" value=""></p>
                <hr>
                
                <p>В какой период Конкурентная разведка в её сегодняшнем виде начала стремительно развиваться?: 
                <br><input class="type2" name=v10 type="text" value=""></p>
            </div>
 
            <div id="buttons">
                    <a name="bot"></a>
                    <button onclick="verifyResults();">Закончить тест</button>
                    <button onclick="deleteResults();">Пройти заново</button>
            </div>
        </div>
    </body>
</html>
0
3 / 3 / 3
Регистрация: 18.11.2011
Сообщений: 286
12.12.2013, 16:02  [ТС] 10
Цитата Сообщение от Студент-с Посмотреть сообщение
Дописал, затянув, извините, сам учил отчасти)

Всё равно код грязный малец.
Комментарии как и обещал, не написал)
Позже, обед.

Чуть позже если вам нужно будет, вставлю проверку введено ли то что нужно в поле, чтобы в год не писали буквы и наоборот.
Ну и ещё что то если нужно говорите, или сами добавьте.

Ну и разнесите стили, js и html, хотя тут наверное вам удобнее одним файлом.
Здравствуйте)
Спасибо))
С комментарием попробую разобраться самостоятельно)
0
0 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 12
22.08.2014, 16:21 11
Здравствуйте!
У меня возник вопрос по коду, который написал Доктор Зойдберг. Я сделала с его помощью свой тест, все работает, но когда я сделала еще один, но с другими вопросами и ответами, кнопка "Закончить тест" не работает...В чем может быть проблема?

Добавлено через 2 часа 24 минуты
Все, разобралась
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2014, 16:21

Тест на html
Доброго времени суток! Можно ли тест сделать на html? И в конце результат?

тест по html
Всем привет! Пытаюсь пройти тестирование по html. надо набрать 25 правильных вопросов из 30. У...

Не работает тест на html
http://pastebin.com/Qmi3vaet тут уже выложен он либо в прикрепленном.. Не работает подсчет...

HTML css тест
Ребят, практикуюсь на тесте. Пункт из задания такой: Блоки 6 - должны быть выполнены таким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru