Доброе время суток! Пожалуйста помогите решить следующую проблему: есть jsp страничка для тестирования студентов, на которой отображается один вопрос (из 40) с вариантами ответов и таймер(обратный отсчет времени) после выбора студентом правильного ответа и перехода на другой вопрос происходит submit формы и тут у меня обнуляется значение поля с таймером можно ли каким-либо образом отправить правильный ответ на сервер не обновляя всю форму???
вот сама страничка:
| Код | <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"/> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, no-store, must-revalidate, proxy-revalidate"/> <link href="bin/style.css" rel="stylesheet" TYPE="text/css"> <title>TITLE</title> </head> <script type="text/javascript"> function StartTest(){ //-------------------------------------------------------- /* var div_quest=document.getElementById("question"); var div_button=document.getElementById("startbutton");
div_quest.style.display='block'; div_button.style.display='none';*/ //-------------------------------------------------------- //запуск таймера var min=parseInt(document.getElementById("count_time").value,10); if(min!=0)timer_Back("remain",min,0); } function setChanged(){ var changed=document.getElementById("changed"); if (changed.value=="not"){ changed.value="changed"; } } function cancelAnswer(){ var right_f=document.getElementsByName("right"); var changed=document.getElementById("changed"); for(var i=0;i<right_f.length;i++){ if (right_f[i].checked){ right_f[i].checked=false; changed.value="not"; break; } } } function timer_Back(element,minutes,seconds) { interval = setInterval(function() { var el = document.getElementById(element); var label= document.getElementById("remain_l"); if(seconds == 0) { if(minutes == 0) { //el.innerHTML = "countdown's over!"; el.value= "Ваше время истекло"; label.innerHTML= "Ваше время истекло"; alert('TIME is OVER'); clearInterval(interval); return; } else { minutes--; seconds = 60; } } if(minutes > 0) { var minute_text = minutes ; //+ (minutes > 1 ? ' minutes' : ' minute') } else { var minute_text = ''; } var second_text = seconds > 1 ? 'seconds' : 'second'; //el.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining'; el.value=minute_text + ':'+ seconds; label.innerHTML=minute_text + ':'+ seconds; //+ seconds + ' ' + second_text + ' remaining'; seconds--; }, 1000);} function SaveAndGo(){ var changed=document.getElementById("changed"); var theURL; if(changed.value=="changed"){ document.test.submit(); }else{ //window.location.href=theURL; } } function forming_questPages(){ with(document){ var f=document.getElementById("quest_num_f"); var num=f.value; for(var i=1; i<=40; i++){ if(i!=num){ document.writeln("<option value='"+i+"'>"+i+"</option>"); }; } } } </script> <body background="" onload="StartTest()"> <form name="test"> <!-- скрытые поля --> <input type="hidden" value="0" name="quest_num_f" id="quest_num_f"/><br> <input type="hidden" value="" name="timer" id="timer"/><br> <input type="hidden" value="not" name="changed" id="changed"/><br> <input type="hidden" value="40" name="count_time" id="count_time"/><br> <!------------------> <!-- Блок Вопроса и Ответов - начало --> <div name="question" id="question" > <table align="center" border="0" width="98%" bgcolor="" > <tr> <td class="text_solid" bgcolor="" align="left"> Оставшееся время: <input type="hidden" readonly name="remain" id="remain"> <label name="remain_l" id="remain_l"></label> </td> </tr> <tr> <td valign="top" align="center" width="100%" bgcolor="" > <table bgcolor="" width="95%" cellpadding="5px"> <tr> <td class="text_solid" align="left" > Вопрос № <label id="quest_num_label" name="quest_num_label"></label> </td> </tr> <tr> <td class="text_solid"> <div style="border: solid 1px black; background: #fff;" align="left" id="f_quest_viewdiv"> <br> <br> <br> <br> <br> </div> </td> </tr> </table> <br> <table width="95%" bgcolor="" border="1px" cellpadding="5px" style="border-collapse: collapse;" bordercolor="#c0c0c0"> <tr> <td class="text_solid" align="center" valign="top" width="5%"> Верный ответ </td> <td class="text_solid" align="left" > Ответы </td> </tr> <tr> <td class="text_solid" align="center"> <input type="radio" value="1" name="right" id="right" onchange="setChanged()"/> </td> <td class="text_solid"> <div style="border: solid 1px black; background: #fff;" align="left" id="f_quest_viewdiv"> <br> <br> </div> </td> </tr> <tr> <td class="text_solid" align="center"> <input type="radio" value="2" name="right" id="right" onchange="setChanged()"/> </td> <td class="text_solid"> <div style="border: solid 1px black; background: #fff;" align="left" id="f_quest_viewdiv"> <br> <br> </div> </td> </tr> <tr> <td class="text_solid" align="center"> <input type="radio" value="3" name="right" id="right" onchange="setChanged()"/> </td> <td class="text_solid"> <div style="border: solid 1px black; background: #fff;" align="left" id="f_quest_viewdiv"> <br> <br> </div> </td> </tr> </table> <br> </td> </tr> <tr> <td> <br> </td> </tr> <tr> <td align="center"> <table width="95%"> <tr> <td class="text_solid"> << Предыдущий вопрос </td> <td class="text_solid" align="center"> Перейти на <select name="quest_nums" id="quest_nums" onchange="SaveAndGo()"> <script>forming_questPages()</script> </select> вопрос </td> <td class="text_solid" align="right"> Следующий вопрос >> </td> </tr> </table> </td> </tr> </table> </div> <!-- Блок Вопроса и Ответов - конец --> <br>
</form> </body> </html>
|
|