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

145
Vistas
Why does a new input overwirtes old one?

I want to save the todo object with its properties in an array, but if I add a new todo it overwrites the old one. I can't think of any possible problem, the code looks right to me.

let head = document.getElementById('txtBox')
let date = document.getElementById('date')
let description = document.getElementById('description')
let todoId = 0

// all Todos
const allTodos = { list: [] }

// to save inputs
let todo = {
  "name": "",
  "description": " ",
  "date": " ",
  "done": false,
  "id": 0
}

let head = document.getElementById('txtBox')
let date = document.getElementById('date')
let description = document.getElementById('description')
let todoId = 0

// all Todos
const allTodos = {
  list: []
}

// to save inputs
let todo = {
  "name": "",
  "description": " ",
  "date": " ",
  "done": false,
  "id": 0
}

function getInput() {
  todoId++
  setInput(head.value, date.value, description.value, todo.id)
  resetInputFields()

}

// put input in array
function setInput(head, description, date) {
  //no input without headline
  if (head) {
    todoId++
    todo.name = head
    todo.description = description
    todo.date = date
    todo.id = todoId;
    // push input into objet array
    allTodos.list.push(todo)
    console.log(allTodos);

  } else {
    console.log("Please enter a name");
  }

}

// reset userInput
function resetInputFields() {
  head.value = ""
  date.value = ""
  description.value = ""
}

//reset Object
function resetTodo() {
  todo.name = ""
  todo.description = ""
  todo.date = ""
}
<center>
    <input type="text" id="txtBox"><br>
    <input type="date" name="" id="date"><br>
    <textarea id="description" cols="30" rows="10"></textarea>
    <div id="add" onclick="getInput()" style="cursor: pointer;">add</div>
    <div id="task"></div>
</center>

about 4 years ago · Juan Pablo Isaza
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