Тест с ветвлением
Всем привет! Прежде чем задать основной вопрос, хотелось бы сначала ввести преамбулу.
Я начал изучать JavaScript недавно - купил книгу Дэвида Макфарланда "JavaScript. Подробное руководство" ("JavaScript. Missing Manual") прочитал её, и как раз в универе дали задание написать тест с ветвлением. Узнав об архитектуре веб-страниц, синтаксисе, методах и прочих базисах, появилось желание написать тест способом, который опишу чуть ниже. Но так как опыта в создании javascript'ов ещё довольно мало, возникают сомнения в возможности реализации данной задачи. Соответственно вопрос: возможно ли сделать тест таким способом, или нет?
Теперь об описании способа.
1) Имеет страница, содержащая несколько div'ов: question_1, question_2_1, question_2_2, question_3_1, question_3_2, question_3_3 и question_3_4.
2) В каждом div'e расположен свой вопрос, на котором расположено по два ответа при помощи radio button со значениями 1 и 0: Yes и No соответственно.
3) При загрузке страницы изначально показывается только первый div с id=question_1.
4) Под блоками имеет кнопка, назовем её Next.
5) В question_1 выбираем radio button в соответствии с нужным значением.
6) При нажатии на кнопку Next выполняется следующее условие:
if (значение radio button'a 1) {блок question_1 скрывается и блок question_2_1 показывается} else {блок question_1 скрывается и блок question_2_2 показывается}.
7) После того как нужный блок из так называемого уровня 2 загрузился, при нажатии на кнопку Next идет проверка какой блок сейчас показывается и какое значение radio button'a из него извлекается:
if (блок question_2_1 показывается) {if (radiobutton 1) {question_3_1 показывается, а question_2_1 скрывается} else {question_3_2 показывается, а question_2_1 скрывается}
} else if (блок question_2_2 показывается) {if (radio button =1) {question_3_3 показывается, а question_2_2 скрывается} else {question_3_4 показывается, question_2_2 скрывается}}
}
Имеет ли эта идея право на жизнь?
P.S. Может у меня где-то есть промахи в разработке теста.
P.S.S. Рассматривал также способ с загрузкой каждый раз новой страницы, но мне он не особо понравился, есть желание сделать тест используя только одну страницу.
|