Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

200
Vistas
Javascript button for todo list doesn't work

I'm trying to get my button for my To-do list to work for days now.. The button is not working but I can't figure out what the problem is. I don't want to use "onclick" in the html file I want to do the click event in the javascript file.

And then I have been trying to figure out how to get the To-do list to work with adding new tasks and being able to mark the task complete without removing it but it was harder than i thought.. I'd love to get some pointers! Appreciate it guys

var closebtn = document.getElementsByClassName("close");

function todolist(){
var li = document.createElement('li');
var btn = document.getElementById('my-button').onclick = function(){
var list = document.getElementById('list');
var input = document.getElementById('task').value;
var func = addEventListener('my-button');
var textnode = documentcreateTextNode(input);
li.appendChild(textnode);

if (input === ' '){
    alert("write")
} else {

    document.getElementById(list).appendChild(li);

}
document.getElementById('task').value = " "; 

var thePanTag = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
thePanTag.className = "close";
thePanTag.appendChild(txt);
li.appendChild(thePanTag);

for (i = 0; i < closebtn.length; i++){
    closebtn[i].onclick = function(){
var Div = this.parentElement;
Div.style.display = none; 
}}}}
 <body>
    <h2>To-do list!</h2>
    <div>
      <input type="text" id="task" placeholder="Write task" />
      <button id="my-button">Add task</button> 
    </div>
    <ul id="list">
      <li>kaa</li>
      <li>baa</li>
      <li>ss</li>
      <li>aa</li>
      <li>aaa</li>
    </ul>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

I removed the unnecessary code and be aware of using the correct onlick function.

Try this:

var closebtn = document.getElementsByClassName("close");
todolist();

function todolist(){
  var li = document.createElement('li');  
  var btn = document.getElementById('my-button').onclick = function(){
      var ul = document.getElementById("list");
      var li = document.createElement("li");
      var input = document.getElementById('task').value;
      if(input!=''){
         li.appendChild(document.createTextNode(input));
         ul.appendChild(li);
      }

    }
}
<h2>To-do list!</h2>
<div>
  <input type="text" id="task" placeholder="Write task" />
  <button id="my-button">Add task</button> 
</div>
<ul id="list">
  <li>kaa</li>
  <li>baa</li>
  <li>ss</li>
  <li>aa</li>
  <li>aaa</li>
</ul>

about 4 years ago · Juan Pablo Isaza Denunciar

0

This is a wrong syntax to add a event listener on a button

var func = addEventListener('my-button');

This is the correct one :

const addTaskBtn = document.getElementByID("my-button")
addTaskBtn.addEventListener("click",function()=>{
   var li = document.createElement('li');
   var btn = document.getElementById('my-button').onclick = function(){
   var list = document.getElementById('list');
   var input = document.getElementById('task').value;
   var func = addEventListener('my-button');
   var textnode = documentcreateTextNode(input);
})
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda