如何使用javascript在html中将一个值或数组从一个页面传递到另一个页面。我不允许使用本地存储,或者会话只能在页面之间传递变量。我从一个单选按钮发送值。我打算将结果存储在数组中,因为我要跟踪用户的答案,以便在最后显示结果。如何将数组发送到quiz_5.html?我打算继续传递数组,而不是使用cookie或本地存储,因为我不被允许这样做。
下面是我的代码:
<div>
<form>
<input type="radio" name="radio" value="correct" class="firstRow"> NASA.Gov
<input type="radio" name="radio" value="incorrect" class="secondRow"> Data.Gov <br>
<input type="radio" name="radio" value="incorrect" class="firstRow"> Facebook
<input type="radio" name="radio" value="incorrect" class="secondRow"> XYZ.net <br>
<input type="button" value="Submit & Next Question" onclick="getAnswer4(this.form)" class="firstRow">
<input type="button" value="Cancel & Clear Selection" onclick="clearOptions(this.form)" class="secondRow">
</form>
</div>Javascript代码:
function getAnswer4(form) {
var a[];
var value;
var checked = form.querySelector("input[type=radio]:checked");
if(!checked) {
alert('Please select an answer');
return;
}
else{
value = checked.value;
}
a.push(value);
location.href = "quiz_5.html";
}发布于 2016-03-05 11:46:57
整个表单应该只有一个HTML按钮。首先,让我们修复表单标记:
<form name='form' id='form' method='get' action='quiz_5.php'>现在让我们在表单的底部添加一个submit按钮:
<input type='submit' name='sub' id='sub' value='Submit' />在quiz_5.html上
var pre = onload;
onload = function(){
if(pre)pre();
var resultObject = {};
var fs = location.search.replace('?', '').split('&');
for(var i=0,l=fs.length; i<l; i++){
var z = fs[i].split('=');
resultObject[decodeURIComponent(z[0])] = decodeURIComponent(z[1]);
}
/* resultObject now has values based on name attibute
for instance resultObject.radio will hold value of name='radio' where it's checked */
}发布于 2016-03-05 19:46:04
抱歉,如果我的评论似乎苛刻,但我所有的新程序员自己学习基础知识,而不是依赖于提供的答案。只是为了证明这是可以做到的--我刚刚创建了三个HTML页面。在前两个页面中创建了一个表单-每个表单都包含您的问题(第一个页面中的问题1和2,第二个页面中的问题3),并将表单值传递给下一个表单,只使用html。
然后只在第二页和第三页使用JavaScript,我从URL中抓取了值,并对它们进行了处理。在第二页上,我重用了第一页中的值(想一想这是如何做到的,为什么它是有用的),以便将所有三个值传递到第三页,然后使用JavaScript仅获取这三个值,将它们显示在页面上(如下面的代码部分所示),并计算正确答案的总数和百分比。请注意,我回答了问题,因此问题2是不正确的。
请注意,我不会给出使用的代码,但会给你页面的URL,这样你就可以看到前两个页面的结果,然后就可以开始思考我是如何实现这一点的。
numbers1.html
numbers2.html?one=correct&two=incorrect
numbers3.html?one=correct&two=incorrect&three=correct
Question 1: correct
Question 2:incorrect
Question 3:correct
2/3
0.67% correct我知道这不是一个传统的答案,但对于学习者来说,简单地要求提供答案并不理想,特别是当我能够在10分钟内将实现结果的三个页面组合在一起时。如果你不尝试,那么你将无法自己学习。
一般说明:今天下午,我和两个论坛成员花了很多时间来帮助操作员完成所需的代码--给出了代码示例。因此,这篇文章更多的是关于教学而不是提供答案。我希望我有这样的老师,在简单地询问答案之前,能够激发研究和理解。所以现在我已经说过了-请随意否决,但我坚持我的哲学,不会删除这个答案,只是为了不得到否决。这个论坛必须既是一个教学环境,也是一个代码库。
https://stackoverflow.com/questions/35809350
复制相似问题