Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Выделение цветом


Автор: Fand 10.9.2008, 08:15
Привет всем!

У меня есть следующий код теста. Хочется, чтобы после нажатия кнопки не только подсчитывались баллы, но и выделялись цветом правильные ответы. Как это сделать?

Заранее спасибо!!!



<_HTML>
<HEAD>
<TITLE>Инвестиции</TITLE>
<script language="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
function dataBase(test) {
     var counter=0;
     if (test.q1[2].checked) {counter++;}
     if (test.q2[0].checked) {counter++;}
     document.test.display.value = counter;
}
// End Hiding Script -->
</script>
</HEAD>
<BODY bgcolor=white>
<center>
<form action="remove_it?subject=Answer on test questions" method="post" name="test">
<!--ENCTYPE="text/plain"-->
<H2>Инвестиции</H2>
<HR width=75%>
<h3>1. Финансовыми инвестициями являются вложения в...</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q1" type="radio" value="11">основные фонды<br>
<input name="q1" type="radio" value="12">в оборотный капитал<br>
<input name="q1" type="radio" value="13">банковские депозиты<br>
</strong></p>
</div><hr>
<h3>2. Реальными инвестициями являются вложения в:</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q2" type="radio" value="21">основные фонды<br>
<input name="q2" type="radio" value="22">акции реального сектора экономики<br>
<input name="q2" type="radio" value="23">объекты тезаврации<br>
</strong></p>
</div><hr>
<table>
<tr>
<td colspan="3"><div align="center"><p><strong><br><hr>Нажми на кнопку &nbsp; для завершения теста:</strong></td></div>
</tr>
<tr align="center">
<td><strong><input name="check" onclick="dataBase(this.form)" type="button"
value=" Подсчитать баллы "></strong></td>
<td><strong><textarea cols="5" name="display" rows="1" wrap="VIRTUAL"></textarea></strong></td>
<td><strong><input type="reset" value=" Сбросить ответы "></strong></td>
</tr>
</table>
</form></center>
<p align=center><strong>Подведем итоги. Если Вы набрали:<br>
<ul>
</ul>
<br>
</strong></p>
<hr align="center">
</BODY>
<_/HTML>

Автор: bars80080 10.9.2008, 09:15
при такой разметке ты этого никак не сделаешь

самое лучшее сделать так:
Код

...
<input name="q1" type="radio" value="11"><span id="v11">основные фонды</span><br>
<input name="q1" type="radio" value="12"><span id="v12">в оборотный капитал</span><br>
<input name="q1" type="radio" value="13"><span id="v13">банковские депозиты</span><br>
</strong></p>
</div><hr>
<h3>2. Реальными инвестициями являются вложения в:</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q2" type="radio" value="21"><span id="v21">основные фонды</span><br>
<input name="q2" type="radio" value="22"><span id="v22">акции реального сектора экономики</span><br>
<input name="q2" type="radio" value="23"><span id="v23">объекты тезаврации</span><br>
...

Код

function dataBase(test) {
     var counter=0;
     if (test.q1[2].checked) {counter++;}
     if (test.q2[0].checked) {counter++;}
     document.test.display.value = counter;
     document.getElementById('v13').style.color = '#00ff00';
     document.getElementById('v21').style.color = '#00ff00';
}



Добавлено через 19 секунд
пользуйся кнопкой код пожалуйста

Автор: Fand 10.9.2008, 13:13
Спасибо огромно!

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

Автор: bars80080 10.9.2008, 14:24
добавляй. тоже самое: кнопка onclick="func();" в функцию засовываешь: document.getElementById('v13').style.display = 'none';

Автор: Fand 10.9.2008, 15:08
Тогда будут спрятаны правильные ответы. А мне нужно показать только те вопросы (с вариантами ответов), на которые были даны неверные ответы. Хотя это наверное сложно. Придется ограничиться тем, что есть...

Автор: bars80080 10.9.2008, 16:38
да что сложно? запускаешь цикл, который будет перебирать все ответы и сравнивать с данными, потом скываешь те что не нужны. единственно надо саму разметку подредактировать и переименовать чекбоксы для эффективности и простоты кода

Автор: Fand 10.9.2008, 19:12
я в этом туповат... поэтому сложно. намекни кодом, если будет время ))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)