0

我已经使用这些代码制作了一个简单的笔记应用程序。它必须通过按下记住按钮将文本框值存储到 localStorage 中。然后显示它,但按另一个按钮。但它不起作用。

<HTML>

<head>
    <script>
        function myfunction1() { //remember code var
            texttosave = document.getElementById('textline').innerHTML;
            localStorage.setItem('mynumber', texttosave);
        }

        function
        myfunction2() { //recall code
            document.getElementById('recalledtext').innerHTML =
                localStorage.getItem('mynumber');
        }
    </script>
</head>

<body>
    <input type="text" id="textline" />
    <button id="rememberer" onclick='myfunction1()'>remember text</button>
    <button id="recaller" onclick='myfunction2()'>recall text </button>
    <p id="recalledtext">Loading</p>
</body>

</HTML>
4

1 回答 1

0

<input>输入文本时元素的属性.innerHTML不会改变。要查看当前输入到输入框中的内容,必须使用其.value属性。

像这样

texttosave = document.getElementById('textline').innerHTML ;

需要成为

texttosave = document.getElementById('textline').value ;

那应该这样做。

稍后,您还链接到您的测试网站。那里的代码

function myfunction1(){ //remember code texttosave = ..........

但这构成texttosave = ..........了评论的一部分。你需要写

function myfunction1(){ //remember code
    texttosave = ..........

现在你已经放在texttosave = ......了一个单独的行上,所以它不被认为是评论的一部分。

或者,如果您不想插入换行符以保持代码简洁,请删除注释 ( //remember code, //recall code),然后您可以将它们保留在同一行。

另一种选择是将单行注释(例如// remember code)替换为您在同一行上关闭的多行注释(即/* remember code */

于 2017-08-05T18:19:01.607 回答