Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
4 / 4 / 1
Регистрация: 18.09.2012
Сообщений: 38

javascript тест

24.04.2013, 02:28. Показов 2771. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такое задание:
написать несложный HTML тест. Вопросы и ответы теста можно хранить в виде массивов. Выдавать пользователю вопросы можно по одному, а можно и все сразу. После того, как пользователь прошел тест, необходимо запросить у него имя и поздравить с окончанием теста. Результат вывести в диалоговом окне в виде "Поздравляем, Имя! Тест сдан на Балл из Максимум.". Результаты теста и имя пользователя запомнить в cookies.
При следующей попытке пройти тест, предварительно вывести на экран результат предыдущей попытки.
Количество попыток ограничить 5-ю.
Вопрос следующий:
как сделать что бы вопросы выдавать либо по по одному, либо и все сразу. Есть массив из которого беру вопросы, а как ставить рядом с ними радикнопки?
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
<form name="test">
            <table>
                <tr>
                    <td>        
                       Тест по теме                                
                    </td>
                    <td>        
                       "Грибы и лишайники"                                
                    </td>
                </tr>
                <tr>
                    <td>        
                        источник          
                    </td>
                    <td>        
                        <a href="http://testbio.pro/botany/fungi_lichens/aak1000qa_fungi_lichens_training_test.php" target="_blank">testbio.pro</a>         
                    </td>
                </tr>
                <tr>
                    <td>        
                       Тест выводить:                                
                    </td>
                </tr>
                <tr>
                    <td>
                        По одному вопросу
                    </td>
                    <td>
                        <input type="radio" name="vivod_testa" value="odin" checked="checked"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        Все вопросы сразу
                    </td>
                    
                    <td>
                        <input type="radio" name="vivod_testa" value="vse" />
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                    <input type="button" value="OK" onclick="blank()" />
                    </td>
                </tr>
            </table>
    function go();
    <br />
    
    </form>
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
var test = new Array();
        for (var i = 0; i < 5; i++) {
            test[i] = new Array();
            for (var j = 0; j < 5; j++) {
 
            }
        }
        test[0][0] = "К пластинчатым грибам относят:";
        test[1][0] = "Мицелием, состоящим из одной клетки, обладает:";
        test[2][0] = "Грибы являются возбудителем:";
        test[3][0] = "Лишайники имеют:";
        test[4][0] = "Клетки грибницы снабжают организм лишайника:";
        //вопрос 0
        test[0][1] = "сыроежки";
        test[0][2] = "маслята";
        test[0][3] = "моховики";
        test[0][4] = "подосиновики";
        //вопрос 1
        test[1][1] = "головня";
        test[1][2] = "трутовик";
        test[1][3] = "пеницилл ";
        test[1][4] = "мукор";
        //вопрос 2
        test[2][1] = "черной ножки";
        test[2][2] = "мучнистой росы";
        test[2][3] = "картофельного рака";
        test[2][4] = "всех этих заболеваний растений ";
        //вопрос 3
        test[3][1] = "стебель, корни и листья ";
        test[3][2] = "стебель и ризоиды";
        test[3][3] = "только ризоиды";
        test[3][4] = "не имеют ни одного из этих органов";
        //вопрос 4
        test[4][1] = "водой и органическими веществами ";
        test[4][2] = "водой и минеральными веществами ";
        test[4][3] = "исключительно водой";
        test[4][4] = "кислородом и углекислым газом";
 
       
 
        function blank() {
            var select;
            var radios = document.test.vivod_testa;
            for (var i = 0; i < radios.length; i++) {
                if (radios[i].checked) {
                    select = radios[i].value;
                    break;
                }
                
            }
 
 
 
            if (select == 'odin') {
 
                window.open('index1.htm', 'new1');
            }
            if (select == 'vse') {
 
                window.open('index2.htm', 'new2');
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2013, 02:28
Ответы с готовыми решениями:

Javascript тест
Помогите написать тест, нужно чтобы ответ вводился и мог состоять из нескольких слов. В конце подводил итог, какие правильные а какие нет.

тест на javascript
Помогите пожалуйста написать тест чтоб был вопрос и несколько вариантов ответа и считался в конце бал за ответы. Примеры вопросов с...

Тест на JavaScript
Решил тут написать электронный тест (попросили в одном учебном заведении), но вот только ничего у меня не получается. Тест выглядит...

2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
24.04.2013, 09:13
вот эта часть задания -- "При следующей попытке пройти тест, предварительно вывести на экран результат предыдущей попытки. Количество попыток ограничить 5-ю." -- подразумевает однозначную идентификацию пользователя

1) простейшая идентификация осуществляется через куки - в них сохраняется число попыток прохождения теста
но грамотный пользователь сможет куки из браузера удалить и, соответственно, пройти тест столько раз, сколько ему это захочется

2) более сложная идентификация - это привлечение серверных технологий (занесение данных конкретного браузера и IP провайдера в БД на сервере)
но и здесь более-менее грамотный пользователь может идентификацию обойти, сменив браузер и воспользовавшись анонимным прокси-сервером)

3) однозначная идентификация - она осуществляется только по инвайту (приглашению), т.е. проходящему тест заранее выдаётся какой-то уникальный пароль (изначально хранящийся в БД на сервере), и только введя этот пароль, он сможет получить доступ к прохождению теста и вот тогда количество попыток прохождения теста можно реально ограничить числом 5

вас какой вариант идентификации интересует?
--------

а) соответственно, хранить ответы на вопросы теста можно на самой странице (пусть даже и в каком-то зашифрованном виде), но любой более-менее толковый пользователь по исходному коду страницы эти правильные ответы легко вычислит

б) более правильным будет хранить ответы (и систему вычисления баллов за результат) на сервере, и, соответственно, доступ к ним требует серверной технологии

здесь что вас интересует?
-------

окончательно:
-- если делать по варианту 1,а (т.е. количество попыток прохождения учитывать в куках, а ответы хранить на странице) - то это будет один способ решения (для которого нужны только браузерные технологии HTML+CSS+JS)
-- если делать по варианту 2 или 3, б (серверная идентификация и серверное же хранение ответов) - то это совсем другой способ решения (для которого, кроме браузерных, нужны ещё и серверные возможности - например, интерпретатор PHP на сервере)

определяйтесь
0
4 / 4 / 1
Регистрация: 18.09.2012
Сообщений: 38
26.04.2013, 03:09  [ТС]
Вопрос был следующий:
как сделать что бы вопросы выдавать либо по по одному, либо и все сразу. Есть массив из которого беру вопросы, а как ставить рядом с ними радикнопки?
Почему нельзя ответить на то что спрашивают? до остального я еще не дощел и возможно сделаю сам.

Вопросы из массива вывести получается. Но выводить некоректнно, не по одному
function blank() {
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
var select;
            var radios = document.test.vivod_testa;
            for (var i = 0; i < radios.length; i++) {
                if (radios[i].checked) {
                    select = radios[i].value;
                    break;
                }
                //if (!radios[i].checked) alert('!!!')
                //else alert(" Сделайте выбор ");
 
            }
 
 
 
            if (select == 'odin') {
               // document.write('Очень просто');
                //window.open('index1.htm', 'new1');
                for ( var i = 0; i < 5; i++) {
 
 
                    document.write(test[i][0] + '<br/>' +
                                        '<input type="radio" name="vivod_testa" value="odin" checked="checked"/>' + test[i][1] + '<br/>' +
                                        '<input type="radio" name="vivod_testa" value="odin" />' + test[i][2] + '<br/>' +
                                        '<input type="radio" name="vivod_testa" value="odin" />' + test[i][3] + '<br/>' +
                                        '<input type="radio" name="vivod_testa" value="odin "/>' + test[i][4] + '<br/><br/>');
                    '<br/>' +
                                        '<input type="button" value="OK" onclick="summ(i)" />'
                                        
                    }
 
            if (select == 'vse') {
 
                window.open('index2.htm', 'new2');
 
            }
 
            function summ(i) {
                summ += summ;
                alert(summ);
                i++;
                return i;
            
            
            }
не ставиться и не обрабатывается кнопка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2013, 03:09
Помогаю со студенческими работами здесь

Тест в javascript
Добрый день. Возьмется кто нибудь написать тестирующую программу на javascript. СРОЧНО

Тест на JavaScript
Добрый день, у меня есть вот такой тест, все работает хорошо, но мне нужно что бы с появлением нового вопроса, например по правую сторону,...

Javascript Тест
Здравствйте я написал простенький тест. Но мне не удаеться сделать хорошую проверку. помогите пожалуйста вот начальный код теста: ...

Сделать тест на javascript из примера
Добрый день! Есть тест на javascript , только он с ООП. Кто поможет сделать без ООП?

Тест на HTML ( доделать functions на javascript)
Здравствуйте, помогите пожалуйста, вот внешний вид моего сайта, мне надо сделать так, чтобы вначале в каждом из 5 столбиков надо было...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru