& lt;脚本语言=“JavaScript"祝辞添加

<script language="JavaScript"> Adding

本文关键字:quot 添加 JavaScript lt 脚本 语言      更新时间:2023-09-26

这是我的代码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>

我有点不清楚你在问什么…问题是如何将分数从一页传递到下一页?

假设你在第一页得了8%的分数,你如何把它传递到下一页,如果你也答对了,那就是16%呢?

如果是这种情况,那么有几种方法可以做到:

1)将分数作为URL的一部分传递到下一页。例如,当移动到下一页时,使用URL:

http://server.etc/QuizPage2.htlp?scoresofar = 8

使用javascript window.location. search获取?之后的部分来计算目前的分数。

这样做的一个问题是很容易作弊:人们可以直接编辑URL并提高他们的分数。

2)使用cookie来保持分数。你可以只保留到目前为止的分数,或者是每道题的分数图。随着网页的变化,每个域都会维护cookie,所以你可以使用它们来维护一个状态,在这种情况下,你到目前为止的分数。参见javascript的文档。关于Cookie的功能如何做到使用Cookie。w3Schools cookies页面

这比选项1的"可攻击性"低,但仍然不安全。人们可以发出自己的javascript来操作cookie。

3)使用会话变量(例如在PHP中)来维护会话变量保存到目前为止的分数。这可能是最好的方法。如何做到这一点是一个完全独立的讨论,但你可以很容易地找到一些示例PHP会话变量代码使用谷歌等。

如果你需要超级安全,使用HTTPs。

不要换页。把所有的问题都列在一个网页上,使用javascript不是为了移动到下一个页面,而是为了在用户完成测试时隐藏/取消隐藏正确的问题。

除非您在cookie或会话变量中维护当前分数(或每个问题的分数),否则如果用户刷新页面,状态将丢失,他们将不得不重新开始测试。