如何将变量传递到javascript中的特定html页面并在该页面上需要时调用该变量

时间:2018-06-24 08:48:13

标签: javascript html

我是html和javascript编码的新手。所以我遇到了一个问题,我必须将变量发送到特定页面,并在需要时调出该函数。

function submit() {
  firstname = document.getElementByName("firstname");
  document.write(firstname);
}
<html>

<body>

  <form>
    <p>firstname: <input type="text" name="firstname" />
    </p>
    <input type="submit" onclick="submit()" />
    </from>
</body>

</html>

如果我想在javascript中的特定html页面上显示名字,该怎么办。例如,如果我想在第三页上显示人员姓名,那我该怎么办。

3 个答案:

答案 0 :(得分:3)

当您需要将信息从一页传递到网络上的另一页时,通常的做法是使用服务器端会话。如我所见,您没有使用服务器端语言,我相信您只有两个选择:

  1. 使用查询字符串参数(始终有效)。
  2. 使用Cookies(如果用户已启用它)。
  3. 使用本地存储(如果您的浏览器支持)。

关于第一种选择,请参见How can I get query string values in JavaScript?。对于第二种选择,它已经被回答了很多次,所以我将把实现留给您:Set cookie and get cookie with JavaScript

对于第二个,您只需要使用localStorage对象,如下所示:

function submit() {
  var firstname = document.getElementByName("firstname");
  document.getElementById("output").innerHTML = firstname;
  if (!!window.localStorage) {
    localStorage.setItem('firstname', firstname);
  }
  return false;
}
<form onsubmit="return submit();">
  <p>firstname: <input type="text" name="firstname" /></p>
  <input type="submit" onclick="return submit();" value="Save" />
</form>
<div id="output"></div>

我还对您的form提交方法进行了一些更改。在新页面中,您只需要使用此代码即可获取商品。

function getname() {
  return localStorage.getItem('firstname');
}

答案 1 :(得分:0)

有多种方法可以解决此问题,但这取决于您的要求。您是否要通过服务器导航转到第三页或其他任何页面,还是客户端导航。无论如何,您都可以使用几乎所有最新浏览器都支持的本地存储。

在第一页上,您可以进行localStorage.setItem('firstName', 'Tom'); localstorage是全局可用的关键字。

在任何其他页面上,您都可以通过

获取值
var name = localStorage.getItem('firstName');

您可以查看Cookie,查询字符串和会话存储的其他选项

答案 2 :(得分:0)

当重定向到下一页时,像这样在重定向URL中绑定参数,

ImageView

然后像下面这样从收尾端取出它们,

window.location.href = "http://yoursite.com/page?data1=one&data2=two";