Помогите написать тест
Приветствую, помогите пожалуйста!
Есть код (указал ниже) вся загвоздка в том, чтобы в тесте можно было допустим на 1 вопрос нужен только один ответ а на 2-й несколько вариантов ответа, по окончанию выводил количество правильных и неправильных ответов и в то же время на против каждого вопроса стоял признак "+" правильно ответил или "-" неправильно ответил. У МЕНЯ ПОЛУЧАЕТСЯ ТОЛЬКО ЧТО ТО ОДНО, но все вмести связать не могу. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Тест</title> <link href="css/st1.css" rel="stylesheet" type="text/css" /> </head> <body> <script type="text/javascript" language="JavaScript">// <![CDATA[ var res="123" function check_me() { var count=0; with(document.test) { if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked) {count+=1}; if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked) {count+=1}; if (count>0) alert("Вы выполнили не все задания. Проверьте себя!") else answer(); } } function control(k, f1,f2) { if (k==1&&f1.checked) return true; if (k==2&&f2.checked) return true; return false; } function answer() { answ=""; with(document) { answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2])?"1":"0" answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2])?"1":"0" showResult(); } } function showResult() { var nok=0; var i,s; for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;} if(nok==2) s="ОТЛИЧНО"; if(nok<2) s="ХОРОШО"; if(nok<1.5) s="УДОВЛЕТВОРИТЕЛЬНО"; if (nok<1) s="НЕУДОВЛЕТВОРИТЕЛЬНО"; document.test.s1. value="Количество правильных ответов "+nok+". Ваша оценка "+s+". Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-)."; with(document.test) { if (answ.charAt(0)=="1") {T1.value=" + "} else {T1.value=" - "}; if (answ.charAt(1)=="1") {T2.value=" + "} else {T2.value=" - "}; } } function showhide(obj){ if(obj == 'none') return 'inline'; else return 'none'; } // ]]></script> <div id="shap"></div> <div id="blog"> <span style="color:#006699;text-decoration:underline;cursor:pointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)"> Инструкция</span> <br/> <div id="instruction" style="display: none; width: 100%;"> <ul> <li>.....</li> </ul> </div> <form name="test"><ol> <li><div class="zagl"><INPUT type="text" size="1" name="T1"/><b>Выберите +</b></div><br/> <br /><input type="radio" name="Q1"/> +<br /> <input type="radio" name="Q1"/> -<br /> <input type="radio" name="Q1"/> -<br /> <br/></li> <li><div class="zagl"><INPUT type="text" size="1" name="T2"/><b>Выберите +</b></div><br/> <br /><input type="checkbox" name="Q2"/>-<br /> <input type="checkbox" name="Q2"/>+<br /> <input type="checkbox" name="Q2"/>-<br /> <br/></li> </ol> <CENTER> <P><TEXTAREA name="s1" rows="4" cols="70" readonly> </TEXTAREA> </P> <INPUT onclick="check_me()" type="button" value="Показать результат"/> <INPUT type="reset" value="Сбросить ответы"/> </CENTER> </form> </div> </body> </html> |
Часовой пояс GMT +3, время: 07:12. |