如何使用javascript将页面中的值传递给另一个页面

时间:2016-03-05 02:42:49

标签: javascript html

如何使用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";
}

2 个答案:

答案 0 :(得分:1)

您应该只有一个HTML按钮用于整个表单。首先,让我们修复表单标记:

<form name='form' id='form' method='get' action='quiz_5.php'>

现在让我们在表单底部添加一个提交按钮:

<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 */
}

答案 1 :(得分:1)

很抱歉,如果我的评论看起来很苛刻,但我完全是关于新编码员自己学习基础知识而不依赖于提供答案。只是为了表明它可以完成 - 我只创建了三个HTML页面。在前两个中创建了一个表单 - 每个表单都有您的问题(第一页中的问题1和2以及第二页中的问题3),并将表单值传递给下一个表单,只使用html。

然后在第二页和第三页上只使用JavaScript,我从URL中获取了值并用它们做了一些事情。在第二页,我重新使用了第1页中的值(想想可能是如何完成的以及为什么它有用),以便将所有三个值传递给第3页,然后使用JavaScript仅获取3个值,显示它们在页面上(如下面的代码部分所示)并计算正确答案的总数和百分比。请注意,我回答了问题,因此我的问题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分钟内我能够将实现结果的三个页面放在一起。如果你不尝试,那么你就不会为自己学习。

一般说明:两位论坛成员和我今天下午花了很多时间尝试用所需的代码协助OP - 提供代码示例。所以这篇文章更多的是关于教学而不是提供答案。我希望我能让这样的老师在简单地要求答案之前激发研究和理解。所以,现在我已经说过了 - 随意投票,但我支持我的理念并且不会删除这个答案,只是为了不进行投票。该论坛必须是教学环境和代码库。