2016-11-20 11 views
-1

私は学校のプロジェクトの一環としてテキストエディタで作業しています。私は保存して開いているコードに小さな問題があります。ここでテキストエリアの内容を保存して開きます

は私のボタンです:

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

は、ここに私のテキストエリアです:

<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; 
} 

私の目標は、以下の場合には何かを書く、を押していることです"保存"ボタン、私のtextareaの中の内容が保存されます。もし私が "開いた" b uttonそれは私がtextareaに書いたものを示しています。

私のコードを修正する方法はありますか?

私の英語は悪いです。

以下
+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"); 
} 

それだからあなたが関数名として)(オープン使用することはできませんがすでにjavascriptに組み込まれている関数なので、retrieve()に変更しました。ここをクリックしてください:http://www.w3schools.com/jsref/met_win_open.asp

setItem()を使用する必要がありますか?変数(gu)を使用するsetItemは冗長です。いずれにしてもうまくいくでしょう。

また、テキスト領域内のテキストを取得して設定するには、value()を使用する必要があります。

また、save()関数を変更してテキストボックスをクリアするため、retrieve()をクリックしたときに何かが発生することがあります。

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 

}

+1

テキストエリアには「innerText」または「innerHTML」はありません。ところで、 'innerText'はとにかく非標準のプロパティです。 –

関連する問題