如何使用JavaScript将变量的值传递给下一页? [英] How to pass a variable's value to the next page with JavaScript?

查看:75
本文介绍了如何使用JavaScript将变量的值传递给下一页?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望能够传递 D I H A 到下一页。我在该页面上的代码需要能够访问它们的值。这是我迄今为止的尝试:

  function tally(){
var Dpoint,Ipoint,Hpoint,Apoint;

var party_Score = ['Dpoint','Ipoint','Hpoint','Apoint'];
var D,I,H,A;
var value_Point;
var type_Choice;
var tag_Choice;

var inputs = document.getElementsByTagName(input),
iLength = inputs.length;

D = I = H = A = 0; (i = 0; i< iLength; i ++)if(inputs [i] .checked){
value_Point = parseInt(inputs [i] .value);


if(inputs [i] .name.search('D')> -1){D + = value_Point; (输入[i] .name.search('I')> -1){I + = value_Point;}
if }
if(inputs [i] .name.search('H')> -1){H + = value_Point; }
if(inputs [i] .name.search('A')> -1){A + = value_Point; }
}

// DIHA会被添加如何将它们传递给其他页面?
document.getElementById('D')。style.width = D +'px';
alert(D);
document.getElementById('I')。style.width = I +'px';
document.getElementById('H')。style.width = H +'px';
document.getElementById('A')。style.width = A +'px';
Dpoint = D; //将该值传递给下一页
Ipoint = I; //将该值传递给下一页
Hpoint = H; //将该值传递给下一页
Apoint = A; //将此值传递到下一页
}


解决方案

在test1.html中写入

  localStorage.setItem(Dpoint,D); //将该值传递给下一页
localStorage.setItem(Ipoint,I); //将此值传递到下一页
localStorage.setItem(Hpoint,H); //将此值传递给下一页
localStorage.setItem(Apoint,A); //将该值传递给下一页

,并且在test2.html中,您将获得像这样的值



  D = localStorage.getItem(Dpoint); 
I = localStorage.getItem(Ipoint);
H = localStorage.getItem(Hpoint);
A = localStorage.getItem(Apoint);

注意:仅适用于支持HTML5本地存储的现代浏览器。为了使它更健壮并且可以在所有浏览器上工作,你可以使用一些类似YUI的库,它有一个名为 cache-离线。如果你想自己实现它,你可以检查YUI代码这里



安全性的立场,localstorage和cookie比URL GET params更安全,因为它们强制执行相同的域限制。如果你的数据更敏感,那么你可能想要考虑它以某种加密格式存储在服务器端。

持久性的立场,此方法仅在浏览器中保留数据。如果您想跨浏览器持久性,那么您需要考虑将信息存储在服务器中。


I want to be able to pass D, I, H, and A to the next page. My code on that page needs to be able to access their values. Here's what I have tried so far:

function tally() {
    var Dpoint, Ipoint, Hpoint, Apoint;

    var party_Score = ['Dpoint', 'Ipoint', 'Hpoint', 'Apoint'];
    var D, I, H, A;
    var value_Point;
    var type_Choice;
    var tag_Choice;

    var inputs = document.getElementsByTagName("input"),
        iLength = inputs.length;

    D = I = H = A = 0;

    for (i = 0; i < iLength; i++) if (inputs[i].checked) {
        value_Point = parseInt(inputs[i].value);
        if (inputs[i].name.search('D') > -1){ D += value_Point; }
        if (inputs[i].name.search('I') > -1){ I += value_Point; }
        if (inputs[i].name.search('H') > -1){ H += value_Point; }
        if (inputs[i].name.search('A') > -1){ A += value_Point; }
    }

    // DIHA is areadly added how to pass them them to other page ?
    document.getElementById('D').style.width = D + 'px';
    alert(D);
    document.getElementById('I').style.width = I + 'px';
    document.getElementById('H').style.width = H + 'px';
    document.getElementById('A').style.width = A + 'px';
    Dpoint = D; //passing this value to next page
    Ipoint = I; //passing this value to next page
    Hpoint = H; //passing this value to next page
    Apoint = A; //passing this value to next page
}

解决方案

In test1.html you write

localStorage.setItem("Dpoint", D); //passing this value to next page
localStorage.setItem("Ipoint", I); //passing this value to next page
localStorage.setItem("Hpoint", H); //passing this value to next page
localStorage.setItem("Apoint", A); //passing this value to next page

and in test2.html you get the values like this

D = localStorage.getItem("Dpoint"); 
I = localStorage.getItem("Ipoint");
H = localStorage.getItem("Hpoint"); 
A = localStorage.getItem("Apoint"); 

Note: This works only in modern browsers that support HTML5 local storage. To make it more robust and work across all browsers you can use some library like YUI which has a module called cache-offline. If you want to implement it yourself you can check the YUI code here

From security standpoint localstorage and cookies are the far more secure than URL GET params since these enforce the same domain restriction. If your data is more sensitive then you might want to consider it storing in the server side in some encrypted format.

From persistence standpoint this method only persists data within a browser. If you want cross browser persistence then again you need to think storing the info in the server.

这篇关于如何使用JavaScript将变量的值传递给下一页?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆