我正在开发一个测验游戏,其中我有一套规则。对于每个正确的问题,用户应该获得+3标记,因此我定义了一个变量。一页并设置了值,但我不知道如何进入下一页
function Question1cont() {
var mark;
var x = document.getElementById("fermi").checked;
var y= document.getElementById("Newton").checked;
var z= document.getElementById("Angstrom").checked;
var q= document.getElementById("Tesla").checked;
if ( x === true)
{
mark = 3;
}
if ( y === true)
{
mark = -1;
}
if ( z === true)
{
mark = -1;
}
if ( q === true)
{
mark = -1;
}
if ( y === false && z=== false && q === false && x=== false )
{
mark = 0;
alert ( "please any answer then continue");
return false;
}
window.location = "file:///C:/Users/dell/Desktop/practice/images/Question_2.html";
}
答案 0 :(得分:0)
您希望将表单的结果发送到后续页面。你可以在那里完成工作,以确定传入的内容的价值。
或者,您可以在其中放置值的隐藏对象,并将其作为表单的一部分发送:
<input type="hidden" id="values" name="values" value="">
现在看来,你正试图将整个事情发送到“位置”
window.location = "file:///C:/Users/dell/Desktop/practice/images/Question_2.html";
这不会传递任何东西。您需要在表单上发送action="Question_2.html"
我在代码中没有看到您的表单在HTML中。大概你有这样的标签:
<form name="thisform" action="Question_2.html" method="POST">
答案 1 :(得分:0)
您是否考虑在一个HTML文档中包含所有“页面”?然后你不必担心在页面之间传递状态/变量:
<div id="page1" style="display:none">
<input type="checkbox" id="fermi" />
<input type="checkbox" id="Newton" />
</div>
<div id="page2" style="display:none">
<!-- Other questions here -->
</div>
<script type="text/javascript">
QuestionCheck();
// Code here to hide one div tag and show the other, etc
</script>
另一种方法是通过URL的查询字符串传递变量。 https://www.google.com/search?q=javascript+read+query+string
如果这是托管在服务器上,那么您将能够使用localStorage
JavaScript对象https://developer.mozilla.org/en/docs/Web/API/Window/localStorage(我不确定它在运行本地文件时是否有效)。