I've checked so many variations of why the object Object appears and can't seem to find a solution. I need to fill in the form and then show the filled information in the empty space beside. But as I said, I've tried many things and can't seem to find my problem.
I would really appreciate some help.
Thanks.
const
localStorageKey = 'storedbookShelf',
myForm = document.getElementById('form'),
showAll = document.getElementById('showall');
const retrieveBookShelf = localStorage.getItem(localStorageKey);
let bookShelf = retrieveBookShelf ? JSON.parse(retrieveBookShelf) : [];
function BookDetails(title, author, pages, pagesread, completed, recommend){
this.title = title,
this.author = author,
this.pages = pages,
this.pagesread = pagesread,
this.completed = completed,
this.recommended = recommended
}
var title = document.getElementById("booktitle").value;
var author = document.getElementById("author").value;
var pages = document.getElementById("pages").value;
var pagesread = document.getElementById("pagesread").value;
var completed = document.getElementById("completed").value;
var recommended = document.getElementById("recommended").value;
newBookAdd = new BookDetails(title, author, pages, pagesread, completed, recommended)
bookShelf.push(newBookAdd)
var storeBooks = JSON.stringify(bookShelf);
window.localStorage.setItem("storedbookShelf", (storeBooks));
myForm.addEventListener('submit', e =>
{
e.preventDefault();
showAll.textContent = bookShelf;
}
);
.container {display: grid;
grid-template-columns: 1fr 1fr;
padding-left: 20px;}
<div class="container">
<div id="formcontainer" class="no-display">
<form id="form">
<h2>Add a new book</h2>
<label for="booktitle">Book Title</label><br>
<input type="text" id="booktitle" name="booktitle"><br>
<label for="author">Author</label><br>
<input type="text" id="author" name="author"><br>
<label for="pages">Number of Pages</label><br>
<input type="text" id="pages" name="pages"><br>
<label for="pagesread">Amount of Pages Read</label><br>
<input type="text" id="pagesread" name="pagesread"><br>
<input type="checkbox" id="completed" name="completed" value="Completed">
<label for="completed">Have you completed this book?</label><br>
<input type="checkbox" id="recommended" name="recommended" value="Recommended">
<label for="recommended">Would you recommend this book?</label><br>
<input type="submit" id="submitform" value="Submit">
</form>
</div>
<div id="showall"></div>
</div>