From b214ef0228fe7cac329bcfde109bf6397b11765f Mon Sep 17 00:00:00 2001 From: Sisu860 Date: Fri, 25 Jul 2025 21:01:06 +0100 Subject: [PATCH 1/2] Fixed error when adding a book: replaced undefined 'library' with correct 'myLibrary' in submit() to ensure new books are added properly. --- debugging/book-library/script.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/debugging/book-library/script.js b/debugging/book-library/script.js index 75ce6c1d..69a2f0fe 100644 --- a/debugging/book-library/script.js +++ b/debugging/book-library/script.js @@ -37,8 +37,8 @@ function submit() { alert("Please fill all fields!"); return false; } else { - let book = new Book(title.value, title.value, pages.value, check.checked); - library.push(book); + let book = new Book(title.value, author.value, pages.value, check.checked); + myLibrary.push(book); render(); } } @@ -54,7 +54,7 @@ function render() { let table = document.getElementById("display"); let rowsNumber = table.rows.length; //delete old table - for (let n = rowsNumber - 1; n > 0; n-- { + for (let n = rowsNumber - 1; n > 0; n-- ) { table.deleteRow(n); } //insert updated row and cells @@ -76,7 +76,7 @@ function render() { changeBut.className = "btn btn-success"; wasReadCell.appendChild(changeBut); let readStatus = ""; - if (myLibrary[i].check == false) { + if (myLibrary[i].check == true) { readStatus = "Yes"; } else { readStatus = "No"; @@ -90,11 +90,11 @@ function render() { //add delete button to every row and render again let delButton = document.createElement("button"); - delBut.id = i + 5; - deleteCell.appendChild(delBut); - delBut.className = "btn btn-warning"; - delBut.innerHTML = "Delete"; - delBut.addEventListener("clicks", function () { + delButton.id = i + 5; + deleteCell.appendChild(delButton); + delButton.className = "btn btn-warning"; + delButton.innerHTML = "Delete"; + delButton.addEventListener("click", function () { alert(`You've deleted title: ${myLibrary[i].title}`); myLibrary.splice(i, 1); render(); From dc4bc53c037648cdc9bc80e77386b822f5f3283d Mon Sep 17 00:00:00 2001 From: Sisu860 Date: Mon, 28 Jul 2025 20:35:02 +0100 Subject: [PATCH 2/2] Add delete and read/unread toggle buttons to book table --- debugging/book-library/script.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/debugging/book-library/script.js b/debugging/book-library/script.js index 69a2f0fe..a0a425f3 100644 --- a/debugging/book-library/script.js +++ b/debugging/book-library/script.js @@ -33,6 +33,8 @@ function submit() { title.value == "" || pages.value == null || pages.value == "" + || author.value == null || + author.value == "" ) { alert("Please fill all fields!"); return false; @@ -76,7 +78,7 @@ function render() { changeBut.className = "btn btn-success"; wasReadCell.appendChild(changeBut); let readStatus = ""; - if (myLibrary[i].check == true) { + if (myLibrary[i].check) { readStatus = "Yes"; } else { readStatus = "No"; @@ -95,9 +97,11 @@ function render() { delButton.className = "btn btn-warning"; delButton.innerHTML = "Delete"; delButton.addEventListener("click", function () { - alert(`You've deleted title: ${myLibrary[i].title}`); - myLibrary.splice(i, 1); - render(); + const index = parseInt(this.id) - 5; // get index from button id + if (confirm(`Are you sure you want to delete "${myLibrary[index].title}"?`)) { + myLibrary.splice(index, 1); + render(); + } }); } }