目前正在嘗試使用 JavaScript 并構建一個待辦事項列表 Web 應用程序。有一些問題。當我刷新頁面時,出現錯誤:TypeError: tasks is null當我按下提交按鈕時,它給出了錯誤:TypeError: cyclic object value在閱讀了有關 JavaScript 的在線教程后,我嘗試了一下,然后我想到了用一些像這樣的基本項目來實現它。我該如何解決這些錯誤?我似乎無法找出解決方案。JS代碼:document.getElementById('form-Task').addEventListener('submit', saveTask);// Save new To-Do Itemfunction saveTask(e){let title = document.getElementById('title').value;let description = document.getElementById('description').value;let task = { title, description};if(localStorage.getItem('tasks') === null) { let = tasks = []; tasks.push(tasks); localStorage.setItem('tasks', JSON.stringify(tasks));} else { let tasks = JSON.parse(localStorage.getItem('tasks')); tasks.push(task); localStorage.setItem('tasks', JSON.stringify(tasks));}getTasks();// Reset form-Taskdocument.getElementById('form-Task').reset();e.preventDefault();}// Delete To-Do Itemfunction deleteTask(title) {let tasks = JSON.parse(localStorage.getItem('tasks'));for (let i = 0; i < tasks.length; i++){ if(tasks[i].title == title) { tasks.splice(i, 1); }}localStorage.setItem('tasks', JSON.stringify(tasks));getTasks();}// Show To-Do Listfunction getTasks(){let tasks = JSON.parse(localStorage.getItem('tasks'));let tasksView = document.getElementById('tasks');tasksView.innerHTML = '';for(let i = 0; i < tasks.length; i++){ let title = tasks[i].title; let description = tasks[i].description; tasksView.innerHTML += `<div class="card mb-3"> <div class="card-body"> <div class="row"> <div class="col-sm-3 text-left"> <p>${title}</p> </div> <div class="col-sm-7 text-left"> <p>${description}</p> </div> <div class="col-sm-2 text-right"> <a href="#" onclick="deleteTask('${title}')" class="btn btn-danger ml-5">X</a> </div> </div> </div> </div>`;}}getTasks();
1 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
我仍在學習 javascript,所以我可能錯過了一些東西,但在你的第一個 if 語句中,你有一個額外的“=”:
if(localStorage.getItem('tasks') === null) { let = tasks = []; // let tasks = [] tasks.push(tasks);
我不確定任務變量的第一個定義。使用大括號,您可以創建鍵值對,但沒有添加值。例如:
var person = { 名字:“約翰”,姓氏:“多伊” };
希望我有所幫助。
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消