我是一名学习者,正在尝试为在线模拟测试开发一个webportal。 在这个门户网站中,在被重定向到mocktest页面后,考试页面看起来像......一个有PHP的页面 1.计时器在上面 2.两个iframe - 一个在左边,一个在右边 - src是php文件
左侧iframe将包含显示问题编号的所有按钮。 右侧框架会将问题和答案选项显示为单选按钮。
问题在于缓存问题。一旦我检查了questionx的单选按钮,导航到其他一些问题并再次返回到questionx,则检查选项不可见..也就是说,再次从数据库中查询问题并重新显示。我想要已经访问过的问题,选择要缓存的答案。 我应该怎样做到这一点?
the mocktest web page looks like this
模拟测试网页的代码包括如下框架 - <!-- questions numbers left div -->
<div class="left">
<Iframe id="frame1" name="iframe1" src="Questions/QuantitativeAptitude.php" ></Iframe>
</div> <!--div classs=left -->
<!-- display question right div-->
<div class="right">
<Iframe id="frame2" name="iframe2" src="Questions/displayQuestion.php"></Iframe>
</div> <!--div classs=right -->
QuantitativeAptitude.php包含一个表单,从中创建一个buttom
<form name="frm2" >
<input id="questionButton" type="button" name="questionNum" value="<?php echo $questionNum;?>" onclick="parent.hello(this.form.questionNum.value);">
</form>
在父页面中定义的javascript函数,即mocktest页面将点击/选中的问题编号传递给displayQuestion.php文件
在displayQuestion.php文件中,使用_GET,查询数据库检索问题,通过表单显示问答选项。
<FORM method="POST" >
<INPUT TYPE="RADIO" VALUE="1" NAME="theAnswer" onclick="return displayAnswer(value)">
<span class="answerOptions">1. <?php echo $Option1; ?><BR><BR> </span>
<INPUT TYPE="RADIO" VALUE="2" NAME="theAnswer" onclick="return displayAnswer(value)">
<span class="answerOptions">2. <?php echo $Option2; ?><BR><BR></span>
<INPUT TYPE="RADIO" VALUE="3" NAME="theAnswer" onclick="return displayAnswer(value)">
<span class="answerOptions">3. <?php echo $Option3; ?><BR><BR></span>
<INPUT TYPE="RADIO" VALUE="4" NAME="theAnswer" onclick="return displayAnswer(value)">
<span class="answerOptions">4. <?php echo $Option4; ?><BR><BR></span>
<INPUT TYPE="RADIO" VALUE="5" NAME="theAnswer" onclick="return displayAnswer(value)">
<span class="answerOptions">5. <?php echo $Option5; ?><BR><BR></span>
</FORM>
捕获已检查的单选按钮以便存储在数据库中我尝试了两种方法 - 1. javascript 2. jquery
方法1:javascript
function displayAnswer(answer){
var optionSelected = answer;
alert (optionSelected);
return true;
}
使用这种方法,我可以看到警告消息,仅针对几个问题说明所选选项,而不是全部。此外,使用javascript,传递这个&#34; optionSelected&#34;将会很繁琐。变量到另一个php文件,其中数据库将使用用户选择的答案进行更新。 **注意:**我使用开发人员工具(F12)在上面的javascript代码中放置了一个断点。很明显,对于那些没有看到警报消息的问题,代码没有中断。
方法2:jquery 这里我已经将jquery-1.12.4.min.js下载到我的xampp项目js文件夹中并包含在php文件中。写完jquery之后,很少有问题本身停止显示。
<script>
$('input:radio').change(function(){
var value = $("form input[type='radio']:checked").val();
alert("Value of Changed Radio is : " +value);
});
</script>
使用这个jquery,在mocktest中只有70个(在5个标签中)显示问题1,2,3,7。我不明白为什么只显示这些问题以及为什么不显示剩余的问题。
当选中单选按钮时,从附加图像中显示的数据,问题4,5,6,8弹出警报消息。