简体   繁体   中英

Using javascript to save a text entry to local storage

I am trying to use javascript to save a text entry using local storage with little success could anyone offer any advice please as i'm new to javascript. It is for a basic blog post site where the user submits text into a diary entry. I'm particularly unsure about how to get the textarea elements current value as shown in the code below and think that is where im going wrong.

 function addTextEntry(itemKey, initialText, isNewEntry) { // Create a textarea element to edit the entry var textElement = document.createElement("textarea"); textElement.rows = 5; textElement.placeholder = "(new entry)"; textElement.value = initialText; addSection(itemKey, textElement); // If this is a new entry (added by the user clicking a button) // move the focus to the textarea to encourage typing if (isNewEntry) { textElement.focus(); } // Create an event listener to save the entry when it changes function saveEntry() { console.log("saveEntry called with variables in scope:", { itemKey, initialText, isNewEntry, textElement, }); // Save text entry //...get the textarea element's current value textElement = document.getElementById; //...make a text item using the value textElement.value = initialText; // (demonstrated elsewhere in this file) //...store the item in local storage using the given key localStorage.setItem(itemKey); } // Connect the saveEntry evenFt listener to the textarea element 'change' event textElement.addEventListener("change", saveEntry); // (demonstrated elsewhere in this file) }

Looks like you're using getElementById wrong.

Try the following to get the current value of a <textarea> :

 function logTextareaValue () { const element = document.getElementById('myTextarea') const value = element.value console.log(value) }
 <textarea id="myTextarea">Default text</textarea> <button onClick="logTextareaValue()">Click to log textarea value to console</button>

In you code, you are passing only one parameter itemKey to the setItem() method. You should also pass the value for that key as a second parameter.

localStorage.setItem(itemKey, itemValue);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM