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