Recibo el "Error de referencia no detectado: el formulario no está definido".
Sin embargo, el "formulario se define en un objeto. No voy a publicar el código JS completo solo donde se declara el formulario.
line 6- const elements = line 7- { line 8- form: document.querySelector("#new-task-form"), line 9- input: document.querySelector("#new-task-input"), line 10- list: document.querySelector("#tasks"), line 11- cal:document.querySelector("#calendar") line 12- } line 91- const submitHandler = (event) =>{ line 92- event.preventDefault(); line 93- createTask(); line 94- } line 96 - form.addEventListener("submit", submitHandler); El form.addEventListener("submit", submitHandler); está devolviendo la llamada a la función de submitHandler . Así que no estoy seguro de por qué me está dando el error
Descubrí el problema.
const createTask = () => { const id = createId() const task = elements.input.value; const date = elements.cal.value; if(!task && !date) return alert("Please fill in task and select date"); if(!task) return alert("Please fill in task"); if(!date) return alert("Please select date"); const tasks = document.createElement("div"); tasks.innerHTML = ` <div class="task" date-id = "${id}"> <div class="content"> <input type ="checkbox" class="tick"> <input class = text id = "text" readonly> <label class = "due-date" for ="text">${date}</label> </div> <div class = "action"> <button class="edit" data-id="${id}>Edit</button> <button class="delete" data-id="${id}>Delet</button> </div> </div> ` elements.list.appendChild(tasks) return task } El problema era que const task = elements.input.value , se definió incorrectamente, lo tenía como const task = input.value