这是我的1/13页代码。
我正在尝试进行测验,然后转到下一页以获得下一个答案,这就是我在链中连接13页的原因。
如果您之前的答案正确无误,我需要帮助的是将总金额加到下一页/答案。例如
我的这个问题是正确的,应该总共8%(因为有13个问题,100/13是7.69230769231,但我猜它会四舍五入)。
我希望下一页的答案是8%,无论如何,如果他们弄错了... + 8%。
<html><head><title>Quiz</title>
<style>
.parent {
width: 150px; /* I took the width from your post and placed it in css */
height: 75px;
}
/* This will style any <img> element in .parent div */
.parent img {
height: 100%;
width: 100%;
}
.parent img {
padding-left: 605px;
}
body {
text-align: center;
padding-top: 100px;
font-size: 20px;
font-family: sans-serif,Verdana;
}
</style>
<script language="JavaScript">
<!--
var numQues = 1;
var numChoi = 3;
var answers = new Array(13);
answers[0] = "Ben Stuart";
answers[1] = "Imran Ali";
answers[2] = "Daniel Rooney";
answers[3] = "Brian Little";
answers[4] = "David Rocke";
answers[5] = "Pamela McElhaney";
answers[6] = "David Hooper";
answers[7] = "Steven Woodhouse";
answers[8] = "Somewhere Sunny";
answers[9] = "Phillip Cairney";
answers[10] = "Stuart Clark";
answers[11] = "Jon Maciness";
answers[12] = "He would not be a celebrity";
function getScore(form) {
var score = 0*2;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*numChoi;
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;
break;
}
}
}
}
score = Math.round(score/13*100);
form.percentage.value = score + "%";
}
// -->
</script>
</head>
<body background="C:\Users\whittlej\Desktop\Website 1\wallpaper.jpg">
<form name="quiz">
1. Who was inspired to join IT because of computer games ?<br>
<input type="radio" name="q1" value="Ben Stuart">Ben Stuart<br>
<input type="radio" name="q1" value="David hooper">David hooper<br>
<input type="radio" name="q1" value="Imran Ali">Imran Ali<br>
<p>
<input type="button" value="Save" onClick="getScore(this.form)">
<input type="reset" value="Clear"><p>
<div class="parent">
<A HREF="imran.html"><IMG SRC="next.png" alt="Next"></a>
</div>
Score = <input type=text size=15 name="percentage"><br>
</body></html>
答案 0 :(得分:1)
我有点不清楚你在问什么.. 问题是如何将分数从一个页面传递到下一个页面?
所以你在第一页上得分为8%(比方说),如何将其传递到下一页,所以如果你也能得到那个,那么它是16%?
如果是这种情况,那么有几种方法可以做到这一点:
1)将分数作为URL的一部分传递到下一页。例如,当进入下一页时使用URL:
http://server.etc/QuizPage2.htlp?scoresofar=8
使用javascript window.location.searcxh获取后的部分?弄清楚到目前为止得分是多少。
这方面的一个问题是它很容易作弊:人们可以只编辑URL并提高他们的分数。
2)使用cookie来维持分数。您可以直接指定得分,也可以是每个问题得分的地图。随着网页的变化,每个域都会保留Cookie,因此您可以使用它们来管理状态,在这种情况下,您的分数到目前为止。有关如何使用cookie的信息,请参阅javascript的document.cookie函数。 w3Schools cookies page
这比选项1更少“黑客攻击”,但仍然不安全。人们可以发布自己的javascript来操纵cookie。
3)使用会话变量(例如在PHP中),以便维护一个到目前为止保持分数的会话变量。这可能是最好的方法。如何做到这一点是一个完全独立的讨论,但您可以使用谷歌等轻松找到一些示例PHP会话变量代码。
如果您需要超级安全,请使用HTTP。
4)不要更改页面。将它全部列为一个网页,使用javascript不要移动到下一个poage,但是当用户运行测验时隐藏/取消隐藏正确的questons。
除非您在Cookie或会话变量中保持当前得分(或每个问题的得分),否则如果用户刷新页面,状态将会丢失,他们将不得不再次开始测验。