存储在本地存储上的 li 元素不会在屏幕上显示

林达贝尔法

我正在开发一个项目,我需要向用户询问输入,当用户单击按钮时,输入将存储在本地存储中并显示在屏幕上,我希望每次用户进入页面时input 显示为 li 元素,但问题是 input 只在文档上显示一次,刷新页面时,li 元素消失,但键和值仍存储在本地存储中。

这是我的 JavaScript 的一部分。

const input = document.querySelector('#text-input');
const addBtn = document.querySelector('#add-plan-btn');
const ol = document.querySelector('ol');

addBtn.addEventListener('click', displayInput);

function displayInput(){
    // this function shows the input on an li element
    let li = document.createElement('li');
    window.localStorage.setItem('plan', input.value);
    li.textContent = localStorage.getItem('plan');
    ol.appendChild(li);
}

这是我的 html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet" href="style.css" type="text/css">
    </head>
    <body>
        <div class="container">
            <h1>Plan Maker</h1>
            <div class="input-plan">
                <input type="text" id="text-input" placeholder="enter here...">
                <button type="submit" id="add-plan-btn">Add</button>
            </div>
            <ol>
            </ol>
        </div>
        <script src="script.js"></script>
    </body>
    </html>

我需要帮助,请提前致谢。

阿里雷扎·艾哈迈迪

首先,您需要保存ol.innerText在本地存储中,在页面加载时,您可能需要检查本地存储是否有价值,li根据存储值创建一些并附加到ol标签

试试这个:

 const input = document.querySelector('#text-input');
 const addBtn = document.querySelector('#add-plan-btn');
 const ol = document.querySelector('ol');

 addBtn.addEventListener('click', displayInput);

 var data = localStorage.getItem('plan');
 if (data) {
     var lst = data.split("\n");
     lst.forEach(t => ol.innerHTML += "<li> " + t + "</li>");
 }

 function displayInput() {
     // this function shows the input on an li element
     let li = document.createElement('li');
     li.textContent = input.value;
     ol.appendChild(li);
     window.localStorage.setItem('plan', ol.innerText);
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PowerPoint不会在投影仪屏幕上显示

从本地存储中删除在<li>中动态显示的项目

在iPhone上本地存储数据

CSS:子元素不会在父元素上触发悬停

Javascript 单击 Svg/object 元素不会在移动设备上触发

本地删除的分支不会在远程存储库上删除

如何在html上显示本地存储

在iOS设备上本地存储图像

Gradle存储在本地文件系统上

在本地存储上保存多个对象?Javascript

图像上的laravel本地存储404错误

Chrome上奇怪的本地存储项目

ActionScript 3.0> iOS上的本地加密存储

iOS 14启动屏幕故事板不会在iOS 14设备上显示图像

使用Vuelidate,表单验证不会在屏幕上显示错误

在我打印其他内容之前,不会在屏幕上显示Perl中的点

通用情节提要中的UISplitViewController不会在iPhone 6 Plus的屏幕上同时显示

使用列布局不会在屏幕上显示卡片小部件内的Listview

javascript,jquery将不会在15英寸的屏幕上显示图像

如何添加 Fragment 以便我的应用程序不会在屏幕上显示为空白

Exoplayer无法在本地存储上播放本地文件

使用本地存储库在本地jenkins上运行作业

本地存储中的值未保存在屏幕上

WCAG:应用样式时,Firefox和Edge不会在聚焦的输入元素上显示轮廓

图像大小不会在不同的屏幕上更改Xcode

引导导航不会在小屏幕上崩溃

paintGL不会在屏幕上绘制任何内容

tslib工具不会在屏幕上绘制任何内容

在审阅板上添加本地存储库错误“权限被拒绝访问本地Git存储库...”。