Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java和html的本地存储_Java_Html_Local Storage - Fatal编程技术网

使用java和html的本地存储

使用java和html的本地存储,java,html,local-storage,Java,Html,Local Storage,我只是尝试使用本地存储从一个html文件到另一个html文件的计算结果,因为它以前对我有效,现在我似乎无法理解它。我的目标是获得一个存储的“结果”,该结果在第一页上计算,并显示在第二页上 以下是脚本的代码: function run() { const testConst = 41; var age = document.getElementById('age').value; var weight = document.getElementById('weight').value; var h

我只是尝试使用本地存储从一个html文件到另一个html文件的计算结果,因为它以前对我有效,现在我似乎无法理解它。我的目标是获得一个存储的“结果”,该结果在第一页上计算,并显示在第二页上

以下是脚本的代码:

function run()
{
const testConst = 41;
var age = document.getElementById('age').value;
var weight = document.getElementById('weight').value;
var height = document.getElementById('height').value;
var result = (10*weight) + (6.25* height) - (5*age)+5;

document.getElementById('myDiv').innerHTML = "There should be text here and the number " + result + "!";
sessionStorage.setItem("storedResult", result)
document.getElementById('divResult').innerHTML = "Your BMR is " + sessionStorage.getItem("storedResult");
以下是“第一页”的代码,我们从中获取存储计算的信息:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script defer src="script.js"></script>
    <title>Home</title>
</head>
<body>
    Age:<input type="text" id="age">
    Weight:<input type="text" id="weight">
    Height:<input type="text" id="height">
<br>

    <input type="submit" value="Submit" onclick="run();">

<br>
<br>
<div id="myDiv"></div>
<div id="divResult"></div>
</body>
</html>

家
年龄:
重量:
高度:



以下是我尝试获取要显示的存储结果的页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Results</title>
</head>
<body>
    <h1>You are on the second page</h1>
    <div id="divResult"></div>
</body>
</html>

结果
你在第二页


谢谢您的帮助。

这两个HTML页面是如何连接的? 1.通过页面提交:page1提交到服务器,然后服务器发送page2 2.单页应用程序

对于案例1“page submit”-您可以将run()计算的“结果”捕获到表单隐藏元素中,比如它的名称是“resultHidden”。在服务器端,将该值读取为
request.getParameter(“resultHidden”)
。在第2页上写下这个变量。我使用JSP将值写入第二页,您可以使用另一种技术

对于案例2“单页应用程序”-在run()计算结果后,将其存储在全局变量中,该变量是在page1和page2上导入的JS文件的一部分。在第2页,读取此JS变量并写入HTML


对于这两种情况,您也可以使用cookie。Js可用于从第1页写入cookie,从第2页读取cookie。另外,当page1提交到服务器时,cookie可以在服务器端读取。

我决定使用选项二,但由于某些原因,它仍然不与我合作,但我发现,只需在两个页面上使用,第一页单击一个按钮,该按钮将变量存储在屏幕上,并带有会话存储,然后在第二页上调用sessionStorage.GetItem的另一个函数。虽然它很丑,但它能起作用。