Selamlar,

Yapışkan notlar benzeri bir şey oluşturmaya çalışıyorum. İlk notta yazdıklarım sayfayı refreshleyince kalıyor. 2.sayfa için + butonuna tıkladığımda yeni not geliyor üstüne yazabiliyorum, fakat sayfayı yenilediğimde 2.not tamamen uçuyor.

1-Oluşturduğum her notun sayfada kalması
2-Notların üzerindeki text'in de sayfada kalması
maddelerini nasıl yazıyoruz?

Kodlar şu şekilde :

let notesCount = 0;

const area = document.getElementById("note1");
area.value = localStorage.getItem("area");
area.oninput = () => {
localStorage.setItem("area", area.value);

};

addCard.addEventListener("click", () => {
// update the total number of notes
notesCount++;
localStorage.setItem("totalNotes", notesCount);
const noteName = "note" + notesCount;
localStorage.setItem("notetime", Date.now());
noteArea.insertAdjacentHTML(
"beforeend",
<textarea id="${noteName}"></textarea>
);
const note = document.getElementById(${noteName});

note.oninput = () => {
localStorage.setItem(${noteName}}, note.value);

};
});

 

LocalStorage'a kaydederken ${noteName}} diye güzel güzel kaydediyorsunuz, ama get yaparken (sayfa yeni açıldığında) notları doğru getirmiyorsunuz gibi görünüyor kodlardan.

plutongezegendegilmi

tek tek değilde object arrayi tutup öyle localstoragea atsanız daha iyi olut gibi.
note = {
id
text
date
}
+ tuşuna basılıp note girildikten sonra üsteki objeyi doldurman lazım. note yazma işlemi bitince;
var notes = JSON.parse(localStorage.getItem("notes"));
notes = [...notes, note]
localStorage.setItem("notes", JSON.stringfy(notes)) gibi bir şey işini görecektir.

sayfa ilk açıldığında da var notes = JSON.parse(localStorage.getItem("notes")); diyip bu arrayi maplemek daha temiz olur gibi.

cassey
1

mobil görünümden çık