Приветствую, помогите пожалуйста!
Есть код (указал ниже) вся загвоздка в том, чтобы в тесте можно было допустим на 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>