javascript - 如何根据用户先前的值设置默认值
问题描述
我想有一个基于用户之前输入的默认值。例如,如果在输入中输入“5”,我希望在刷新页面时看到该输入的值为 5,但如果输入 6,我希望默认值为 6。谢谢(我是初学者)
解决方案
使用本地存储:
localStorage = window.localStorage;
localStorage.setItem('inputDefault', '5');
let inputDefault = localStorage.getItem('inputDefault');
下面是一个更实际的例子,我很快就搞定了:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Local Storage Example</title>
<script type="text/javascript">
function setLocalStorageValue()
{
let myNumberInputField = document.getElementById('myNumberInput');
let myNewValue = myNumberInputField.value;
let localStorage = window.localStorage;
localStorage.setItem('defaultValue', myNewValue);
}
function getLocalStoredValue()
{
let localStorage = window.localStorage;
let defaultValue = localStorage.getItem('defaultValue');
let myNumberInputField = document.getElementById('myNumberInput');
myNumberInputField.value = defaultValue;
}
</script>
</head>
<body onload="getLocalStoredValue()">
<label>My Number Input
<input type="number" id="myNumberInput" value="0" onchange="setLocalStorageValue()">
</label>
</body>
</html>
这回答了你的问题了吗?请注意我是如何在相关输入的 onchange 事件上写回本地存储的,并且在加载 html 正文时从本地存储中读取。
推荐阅读
- javascript - 如何在 javascript 中使用 getMonth 获取正确的月份
- elasticsearch - 在 Elasticsearch 中自动完成和搜索
- php - laravel 刀片模板打印递归树
- c - 带有 while 循环和 if 语句的函数的时间复杂度
- r - 无法在 RStudio 中安装软件包 - 下载后被阻止
- apache-flink - Flink 作业在初始化 10 分钟后失败
- .htaccess - URL重写不适用于同一文件夹中的多个页面
- javascript - 将表单数据传递给引导模式
- java - 检测开始或停止时来自 Altbeacon 的回调
- spring-mvc - 如何限制或拒绝对特定文件夹或文件的访问?