通过本地存储添加值
Adding Values through local storage
我正在尝试制作一个页面,用户可以在四个不同的文本框中输入数据到四个不同的值中,这些值可以通过使用本地存储存储,然后当用户刷新页面或在新选项卡中打开它时,以前输入的值仍然存在。任何关于如何做到这一点的建议都会很棒!下面是我当前的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Storing Data</title>
<meta name="description" content="" />
<meta name="author" content="Alan Sylvestre" />
<style>
h1 {
background-color: #000000;
color: #C00000;
padding: 10 px;
padding: 10 px;
text-align: center;
}
</style>
<script>
function storageValue() {
var uno = document.getElementById("storage1");
var duck = uno.value
var dos = document.getElementById("storage2");
var duckie = dos.value
var tres = document.getElementById("storage3");
var rubberDuck = tres.value
var quatro = document.getElementById("storage4");
var rubberDuckie = quatro.value
alert("Your stored values are: " + duck + "," + duckie + "," + rubberDuck + "," + rubberDuckie);
localStorage.setItem(duck, duckie, rubberDuck, rubberDuckie);
checkLocalStorage();
}
function checkLocalStorage() {
var div = document.getElementById("storageDiv");
div.innerHTML = localStorage["duck", "duckie", "rubberDuck", "rubberDuckie"];
}
</script>
</head>
<body align="center" style="background-color:red;">
<div>
<header>
<h1>Local Storage</h1>
</header>
<input type="text" id="storage1" size="40" placeholder="Please enter a value">
<input type="text" id="storage2" size="40" placeholder="Please enter a value">
<input type="text" id="storage3" size="40" placeholder="Please enter a value">
<input type="text" id="storage4" size="40" placeholder="Please enter a value">
<br>
<br>
<input type="button" id="addValue" value="Store Input Values" onclick='storageValue();'>
<div id="storageDiv"></div>
<nav>
<p>
<a href="/">Home</a>
</p>
<p>
<a href="/contact">Contact</a>
</p>
</nav>
<div>
</div>
<footer>
<p>
© Copyright by Alan Sylvestre
</p>
</footer>
</div>
</body>
</html>
这里有一个小提琴:http://jsfiddle.net/howderek/T5PqU/
像数组一样使用localStorage来存储值:localStorage["duckie"] = duckie
同样,你不能这样做:div.innerHTML = localStorage["duck", "duckie", "rubberDuck", "rubberDuckie"];
下面是更新后的代码:
JS
function storageValue() {
var uno = document.getElementById("storage1");
var duck = uno.value;
localStorage["duck"] = duck;
var dos = document.getElementById("storage2");
var duckie = dos.value;
localStorage["duckie"] = duckie;
var tres = document.getElementById("storage3");
var rubberDuck = tres.value;
localStorage["rubberDuck"] = rubberDuck;
var quatro = document.getElementById("storage4");
var rubberDuckie = quatro.value;
localStorage["rubberDuckie"] = rubberDuckie;
alert("Your stored values are: " + duck + "," + duckie + "," + rubberDuck + "," + rubberDuckie);
localStorage.setItem(duck, duckie, rubberDuck, rubberDuckie);
checkLocalStorage();
}
function checkLocalStorage() {
var div = document.getElementById("storageDiv");
div.innerHTML = "The current values are: " + localStorage["duck"] + ", " + localStorage["duckie"] + ", " + localStorage["rubberDuckie"] + ", " + localStorage["rubberDuckie"];
}
checkLocalStorage();
我很确定在使用setItem时,您需要使用(键,值)对来设置项。
参考此页:http://en.wikipedia.org/wiki/Web_storage#localStorage
试试这个:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Storing Data</title>
<meta name="description" content="" />
<meta name="author" content="Alan Sylvestre" />
<style>
h1 {
background-color: #000000;
color: #C00000;
padding: 10 px;
padding: 10 px;
text-align: center;
}
</style>
</head>
<body align="center" style="background-color:red;">
<div>
<header>
<h1>Local Storage</h1>
</header>
<input type="text" id="storage1" size="40" placeholder="Please enter a value">
<input type="text" id="storage2" size="40" placeholder="Please enter a value">
<input type="text" id="storage3" size="40" placeholder="Please enter a value">
<input type="text" id="storage4" size="40" placeholder="Please enter a value">
<br>
<br>
<input type="button" id="addValue" value="Store Input Values" onclick='storageValue();'>
<div id="storageDiv"></div>
<nav>
<p>
<a href="/">Home</a>
</p>
<p>
<a href="/contact">Contact</a>
</p>
</nav>
<div>
</div>
<footer>
<p>
© Copyright by Alan Sylvestre
</p>
</footer>
</div>
</body>
</html>
<script>
function storageValue() {
var uno = document.getElementById("storage1");
var duck = uno.value
var dos = document.getElementById("storage2");
var duckie = dos.value
var tres = document.getElementById("storage3");
var rubberDuck = tres.value
var quatro = document.getElementById("storage4");
var rubberDuckie = quatro.value
alert("Your stored values are: " + duck + "," + duckie + "," + rubberDuck + "," + rubberDuckie);
localStorage.setItem('duck', duck);
localStorage.setItem('duckie', duckie);
localStorage.setItem('rubberDuck', rubberDuck);
localStorage.setItem('rubberDuckie', rubberDuckie);
checkLocalStorage();
}
function checkLocalStorage() {
var div = document.getElementById("storageDiv");
div.innerHTML = localStorage["duck"] + localStorage["duckie"] + localStorage["rubberDuck"] + localStorage["rubberDuckie"];
}
checkLocalStorage();
</script>
另外,我把脚本放在html下面,所以它在html之后运行。我还添加了对checkLocalStorage的立即调用(脚本的最后一行)。
相关文章:
- 在ListView中添加JSON数组中存储的图像-ReactNative
- 为本地存储添加高分
- 选择文本并添加到本地存储
- 将新对象添加到本地存储
- 如何将类似类型的多个对象添加到本地存储中
- 尝试将对象添加到存储阵列中,然后通过循环将它们写出
- 存储对追加动态添加的元素的引用
- 添加隐藏属性以存储其他属性值
- 如何在Javascript中向存储类添加自定义方法
- 如何将添加到列表框客户端的值存储到sessionScope
- 将本地存储密钥添加到下拉列表中
- 使用 jQuery 在本地存储上添加产品
- 检查本地存储中的记录是否在 1 分钟前添加
- 如何将动态添加的内容存储到数据库
- 如何在存储加载之前向面板添加遮罩,并在存储加载后删除
- 动态添加文本框并将其值存储在 mysql 中
- 将值添加到本地存储,而不是替换它
- 将对象添加到本地存储中的数组
- 将新对象添加到 chrome 本地存储
- 在 Extjs 网格(3)上添加存储数据