保存并打开textarea的内容

时间:2016-11-20 04:08:34

标签: javascript html css

我作为学校项目的一部分在文本编辑器上工作,我的保存和开放代码存在一个小问题。

以下是我的按钮:

<button id="gu" onclick="save()">Save</button>
<button id="ab" onclick="open()">Open</button>

这是我的textarea:

<textarea name="comment" rows=30 cols=101 id="texto"></textarea>

这是我的javascript函数:

function save(){
    gu = document.getElementById("texto");
    localStorage.setItem("texto",gu);
    console.log(texto+"="+gu);
}

function open(){
    console.log("Abierto")
    document.getElementById('texto').innerHTML=gu;
}

我的目标是,如果写点什么,然后按&#34;保存&#34;按钮,保存我textarea内的内容,如果我按下&#34;打开&#34;按钮它显示我在textarea上写的内容。

关于如何修复我的代码的任何想法?

对不起,如果我的英语不好。

2 个答案:

答案 0 :(得分:1)

在这里:https://jsfiddle.net/cinerobert/qwgv18r5/

function save()
{
    localStorage.setItem("someitem", document.getElementById("texto").value);
    document.getElementById("texto").value = "";
    console.log(texto + "=" + gu);
}

function retrieve(){
        console.log("Abierto")
        document.getElementById("texto").value = localStorage.getItem("someitem");
}

您不能使用open()作为函数名称,因为它已经是javascript中的内置函数,所以我将其更改为retrieve()。见这里:http://www.w3schools.com/jsref/met_win_open.asp

您是否有理由要求使用setItem()?使用变量(gu) setItem是多余的。无论哪种方式都可以。

另外,要在文本区域内获取和设置文本,您需要使用value()。

我还更改了save()函数,以便清除文本框,以便在单击retrieve()时看到发生的事情。

答案 1 :(得分:0)

以下是需要完成的事情

 function save()
{
    gu = document.getElementById("texto");
    localStorage.setItem("texto",gu.innerText);  //here you were saving the dom object not the text inside
    console.log(texto+"="+gu.innerHTML);

}

function open()
{

console.log("Abierto")
document.getElementById('texto').innerHTML=localStorage.getItem("texto"); //here you need to get the text from your local storage

}