Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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
Javascript 使用localStorage在页面之间传递变量,并在链接中传递变量_Javascript_Html - Fatal编程技术网

Javascript 使用localStorage在页面之间传递变量,并在链接中传递变量

Javascript 使用localStorage在页面之间传递变量,并在链接中传递变量,javascript,html,Javascript,Html,我正在学习js,最近,我为我的英语和我的问题的明显性道歉。我有两个问题,我希望用纯JavaScript解决 在几个教程之后,我在HTML页面中安装了一个localStorage脚本 pag1.html 有可能这样做吗?怎么用? 这个剧本我已经试过好几次了,但对我来说太难了 你好, 首先,我要感谢@cssyphus和@Shahnawazh的回答 问题1 我用脚本在同一页上多次显示了该名称: <script> var result = document.getElementsByCl

我正在学习js,最近,我为我的英语和我的问题的明显性道歉。我有两个问题,我希望用纯JavaScript解决

在几个教程之后,我在HTML页面中安装了一个localStorage脚本


pag1.html 有可能这样做吗?怎么用? 这个剧本我已经试过好几次了,但对我来说太难了

你好,

首先,我要感谢@cssyphus和@Shahnawazh的回答

问题1

我用脚本在同一页上多次显示了该名称:

<script>
 var result = document.getElementsByClassName('result');

[].slice.call(result).forEach(function (className) {
            className.innerHTML = localStorage.getItem("textvalue");
 });
 </script>

var result=document.getElementsByClassName('result');
[].slice.call(结果).forEach(函数(类名){
className.innerHTML=localStorage.getItem(“textvalue”);
});
但是,我真的需要在所有需要显示名称的页面上都包含它吗? 我还尝试将脚本插入到外部js页面中,但名称甚至没有出现一次

问题2


至于第二个问题,我没有得到积极的结果。

您刚刚发现了为什么不能在同一个页面上使用相同ID的两个元素-只有第一个元素可以工作。但是,类的工作方式几乎与ID完全相同,因此只需在两个位置使用相同的
className

<p>Hi <span class="result">Lucy<span> ...
...
<p>How are you today <span class="result">Lucy</span> ...
你好,露西。。。 ... 露西,你今天好吗。。。 至于第二个问题,请再次使用localStorage。设置一个不同的localStorage变量并读/写它

但是,您可能正在考虑使用查询字符串,如下所示:

<a href="person.html?gender=f">female</a>


有关信息和代码示例,请参见。

您可以使用
类来显示结果,而不是使用
id
,因为id是唯一的。此外,对于存储阳性、阴性或中性,您可以使用单选按钮,当您单击其中任何一个按钮时,只需将结果保存在
localStorage
中即可。这是三页

页面1.html

你好!!你叫什么名字

函数passvalues(){ var nme=document.getElementById(“txt”).value; setItem(“textvalue”,nme); 返回false; }
页面2.html

在这里输入代码
嗨,露西很高兴认识你

你今天好吗

var result=document.getElementsByClassName('result'); [].slice.call(结果).forEach(函数(类名){ className.innerHTML=localStorage.getItem(“textvalue”); });
页面3.html

您更喜欢使用哪种性别名称

男性
女性
中立的 你已经选择了

var result=document.getElementsByClassName('result'); [].slice.call(结果).forEach(函数(类名){ className.innerHTML=localStorage.getItem(“textvalue”); }); var rad=document.gendeform.gender; var-prev=null; 对于(变量i=0;i
您是否尝试存储多个名称以便创建它们的列表?不,我尝试编写一个非线性的多选文本,仅使用CSS、HTML和Javascript。感谢您的回答,不幸的是,由于页面布局原因,我无法使用单选按钮。不过,我会保存你的代码以备将来使用(手头有一个单选按钮总是很方便的)。您可以看到如何将参数从一个页面传递到另一个页面。在你的情况下,你可以这样做。谢谢,我读了你的解决方案,但对我来说太复杂了。对不起。你好@shahnawazh,在收到一些澄清后,我决定选择你的答案作为正确答案,谢谢你的帮助。你好@cssyphus你的建议:;这很有趣,但我不知道如何在脚本中插入它,而且我想要一个纯javascript的解决方案。但我不知道如何将链接压力设置为本地存储。我能做的就是每个链接指向不同的页面,每个页面都手动设置了性别:但这不是javascript,也不是很优雅。你有什么建议吗?感谢您的关注。@Meimei Shahnawaz Hossan的回答向您展示了如何使用链接设置本地存储变量。使用Shahnawaz在其代码示例中使用的相同算法来设置此人的性别。我认为使用localStorage是最适合您的解决方案-使用查询字符串对于您当前的技能水平来说太复杂了。请考虑接受Shahnawaz的答案作为正确的答案——它拥有解决这两个问题所需要的一切。非常感谢您的澄清。HI @ CSyPHUS我尝试通过LoalStage到另一个页面。它不起作用。请帮帮我。sp class=“selectedGender”>/sp sp class=“result”>/sp var selectedGender=document.getElementsByClassName('selectedGender')。。。。。。。plus:var result=document.getElementsByClassName('result');。。。。。。您不需要将localStorage传递到另一个页面。同一域上的所有页面都可以访问同一本地存储区域。如果在第1页
.set
设置一个名为
username
(内容:“Bob”)的变量,您可以
.get
从任何其他页面获取该变量,只需使用
var name=localStorage.getItem(“username”)
(现在,在该页面上,var
name
包含值
Bob<a href="female.html" set var f true> female</a>
 if (female true) {
    text = "brava";
  } else if (male true) {
    text= "bravo";
  } else {
    text = "bene";
  }
<script>
 var result = document.getElementsByClassName('result');

[].slice.call(result).forEach(function (className) {
            className.innerHTML = localStorage.getItem("textvalue");
 });
 </script>
<p>Hi <span class="result">Lucy<span> ...
...
<p>How are you today <span class="result">Lucy</span> ...
<a href="person.html?gender=f">female</a>