为了账号安全,请及时绑定邮箱和手机立即绑定

显示本地存储值的 HTML/脚本问题

显示本地存储值的 HTML/脚本问题

白衣非少年 2022-09-16 20:52:25
我的目标是让用户能够输入文本块,并以用户友好的格式(如博客文章)返回。他们将输入他们的名字和他们想说的任何东西,然后它将被存储在本地并显示。我尝试将数据存储为本地存储,但我不断收到“此文件不存在”的错误。下面的代码片段仅用于用户单击按钮后的基本显示,但即使这样也不起作用。请注意,这一切都需要能够独立运行,因为我正在自学基本的Javascript / HTML用于编码比赛,其中唯一允许的软件是用于编码的记事本和用于图像处理的Photoshop。<!DOCTYPE html><html>    <script>        function passvalues() {            var firstName = document.getElementById("txt".value);            localStorage.setItem("textvalue",firstName);        }                document.getElementById("result").innerHTML = localStorage.getItem("textvalue");    </script>    <body>        <form>            <input type = "text" id ="txt" placeholder='place text here'/>            <button type="submit" value='click me!' onClick="passvalues();"> Click Me</button>        </form>    </body>    <p id="result"></p></html>大家好,很抱歉我没有早点到达!无论如何,感谢所有回答的人,非常感谢。
查看完整描述

4 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

你有正确的想法。最大的问题在这里:

 document.getElementById("txt".value);

我会让你弄清楚那里出了什么问题。

其他一些需要修复的问题:

  • 确保您的在<p><body>

  • 确保你在HTML元素内部和之后运行它,所以基本上让它成为最后一件事<script><body><body>

另一个提示是,您可能想要也可能不想在点击的javascript的末尾添加。这将阻止它提交表单,从而刷新页面。在这种特殊情况下,对于您拥有的设计,您可能实际上希望将其保持原样并进行刷新,以便执行从本地存储读取。但是,最好知道返回 false 的作用 - 因为在很多情况下,在执行这样的javascript后提交表单是不可取的。return false;


查看完整回答
反对 回复 2022-09-16
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

您有 3 个问题:

1. 获取元素字节 Id(“txt”.值) 应为获取元素字节 Id(“txt”).值

2.在 3 内

取标签。把整个之前<p></body><script>...</script></body>


<!DOCTYPE html>

<html>

<body>

    <form>

        <input type = "text" id ="txt" placeholder='place text here'/>

        <button type="submit" value='click me!' onClick="passvalues();"> Click Me</button>

    </form>

    <p id="result"></p>

    <script>

    function passvalues() {

        var firstName = document.getElementById("txt").value;

        localStorage.setItem("textvalue",firstName);

    }


    document.getElementById("result").innerHTML = localStorage.getItem("textvalue");

    </script> 

</body>

</html>


查看完整回答
反对 回复 2022-09-16
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

这将工作:


<!DOCTYPE html>

<html>


<body>

    <form onsubmit="event.preventDefault(); passvalues();">

        <input autofocus type = "text" id ="txt" placeholder='place text here'/>

        <button type="submit" value='click me!' onClick="passvalues();"> Click Me</button>

    </form>

    <p id="result"></p>

    <script>

        var result = document.getElementById("result");

        result.innerHTML = localStorage.getItem("textvalue");


        function passvalues(e) {

            var firstName = document.getElementById("txt").value;

            localStorage.setItem("textvalue", firstName);

            document.getElementById("result").innerHTML = firstName;

        }

    </script>

</body>

</html>


查看完整回答
反对 回复 2022-09-16
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

有关工作示例,请参见:https://jsfiddle.net/9ycqjsuo/

我注意到的一些事情:

  • 你把一些内容放在了正文标签之外——这是无效的。

  • 该值不是来自文本字段,因为右图未对齐。

  • 您的表单正在使用提交按钮,没有任何内容会阻止默认操作。当您提交表单时,它将带您进入一个新页面,除非您在提交事件上阻止Default。我已将按钮更改为阻止提交。type="button"

  • 在将结果文本的值存储到本地存储后,应更新该值。


查看完整回答
反对 回复 2022-09-16
  • 4 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号