Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Web and personalized recommendations.Start Your Free Trial Now
- View Offline
- Including range form elements
- Modifying the display interactively
- Dragging items to wish lists
- Storing wish list items locally
- Saving and retrieving list items
Skill Level Intermediate
Local storage, or web storage, is another advanced technology under the HMTL5 umbrella that does a great job simply. Let me show you how easy it is to store items in the browser's local storage. So, we have our index.htm file opened, but we don't want to put the necessary code here. We're going to instead move it to dragdrop.js, since it is essentially dealing with the dropped items that we're going to save. So, the first thing I need to do is to declare a variable, and I'm going to put that right at the top of the page.
So, I'll enter var, and I like to name my variables starting off with the article V. So, theFaves. And we're going to set that equal to document.getElemantById('faves');. Make sure to put that semicolon at the end. Now, what is the element ID faves? Let's go back to the HTML for just a sec. I'll scroll down to where my faves are. And here you see it's the ID in the unordered list. All right, let's had back to dragdrop.js, and now I'm going to move down the page.
And this is part of the drop event. So, after the item has been dropped, we want to call a custom function, and I'm going to put this call to the custom function above the evt.stopPropagation. So, let's make a little error here so we can see it clearly. And I'm just going to call this custom function saveFaves. All right! Now, we'll enter our new custom function below the binding. And so I'll enter a function, give it its custom name, put in a curly brace pair, and then just the single line in order for us to save the item to local storage.
So, we call localStorage.setItem and that's a capital I. And then in parentheses we have two arguments. The first is the item name that you're going to be saving. And I'm going to be calling it favorites, and then follow the argument with a comma. And now what is it that we are going to be saving into favorites? Well, we're going to go back our variable that we set up at the top of the page, theFaves, and we're going to pull in its inner HTML.
So, if you recall, theFaves was the unordered list and its inner HTML are all the list items. So, type in theFaves.innerHTML, and make sure to put a semicolon at the end. Now, with this code, we have grabbed and stored whatever is in the unordered list faves, and we can do this without worrying, because local storage has a much bigger limit than cookies do: 5 megabytes. So, let's save dragdrop.js, and now we're ready for final step: displaying the items from local storage.
And it's just as straightforward at storing them.