2016-11-20 3 views
-1

Я работаю над текстовым редактором в рамках школьного проекта, и у меня небольшая проблема с моим сохраненным и открытым кодом.Сохраните и откройте содержимое текстового поля

Вот мои кнопки:

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

Моя цель состоит в том, что если написать что-то, а затем нажмите кнопка «сохранить», содержимое внутри моего textarea сохраняется, и если я нажму «open» 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 является избыточным. Это будет работать в любом случае.

Также, чтобы получить и установить текст внутри текстовой области I, вам нужно использовать значение().

Я также изменил функцию 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' - это нестандартное свойство. –

Смежные вопросы