Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Помогите написать тест (https://javascript.ru/forum/css-html-internet-explorer/55908-pomogite-napisat-test.html)

jvOOL 20.05.2015 13:31

Помогите написать тест
 
Приветствую, помогите пожалуйста!
Есть код (указал ниже) вся загвоздка в том, чтобы в тесте можно было допустим на 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">
  
 
&nbsp;&nbsp;&nbsp;<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="Показать результат"/>&nbsp;&nbsp;&nbsp;&nbsp; 
<INPUT type="reset" value="Сбросить ответы"/> 
</CENTER>        
</form> 
 
</div>
</body>
</html>


Часовой пояс GMT +3, время: 08:05.