I'm trying to build a form (more for personal learning) using HTML, JS and local storage to:
- Take inputs from user
- Display the inputs from the user
- Store the data in local storage
- Give an option to the user to strike through an item or strike through everything
Questions:
- The local storage always is storing the latest value entered and not the entire array. For some reason the push array is not appending all the values. What am i missing?
- The strike through works for all at once but not for each option. What's the way to go about it for each option?
function display(){
var master_list = [];
var data = document.getElementById('to_do').value;
master_list.push(data);
document.getElementById('form_data').innerHTML += "<li>"+ data +"</li>";
console.log("data is "+ data);
console.log("master list is "+ master_list);
// storeData(master_list);
}
function remove(){
var list = document.getElementById('form_data').innerText;
// console.log("the data is " + list);
document.getElementById('form_data').innerHTML = list.strike();
}
function storeData(master_list){
localStorage.setItem("master_list", JSON.stringify(master_list));
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The To-do Application</title>
<script src="to_do_app.js" charset="utf-8"></script>
</head>
<body>
<h1>Welcome to the To-Do application</h1>
<label>Enter your to-do item: </label>
<input type="text" id="to_do" placeholder="eg: groceries">
<button onclick=display()> Add </button>
<h3>Added Items are:</h3>
<div id="form_data"></div>
<br>
<button onclick=remove()> Clear All </button>
<!-- <h6>Note: To remove please click on the item</h6> -->
</body>
</html>