Tengo una lista de tareas pendientes en mi sitio web y quiero guardar todas las tareas que escriben los usuarios. Pero cuando los usuarios hacen clic en el botón "Agregar" sin ingresar una tarea, se almacena una línea vacía en LocalStorage. ¿Qué condición debo agregar a mi código para excluir la adición de líneas vacías a LocalStorage? En este momento, mi código para agregar elementos se ve así:
btn.onclick = function(){ let userData = input.value; let getLocalStorage = localStorage.getItem("New Todo"); if(getLocalStorage == null){ listArr = []; } else{ listArr = JSON.parse(getLocalStorage); } listArr.push(userData); localStorage.setItem("New Todo", JSON.stringify(listArr)); };Lo que puede hacer es verificar si su entrada está vacía o no. Algo como:
// This will check if the value is not null or undefined // and the input length is greater than 0 if (input.value && input.value.length > 0) { // your logic here }También puede recortar los espacios en blanco y verificar nuevamente si la longitud de la entrada es mayor que 0 o no. De esta manera, si alguien simplemente ingresa un montón de espacios, no se agregará a su LS.
básicamente rescatar al comienzo de la función si el valor está vacío o solo contiene espacios
btn.onclick = function(){ if (!input.value || !input.value.trim()) { return } let userData = input.value; let getLocalStorage = localStorage.getItem("New Todo"); if(getLocalStorage == null){ listArr = []; } else{ listArr = JSON.parse(getLocalStorage); } listArr.push(userData); localStorage.setItem("New Todo", JSON.stringify(listArr)); };Justo antes de establecer el elemento en la lista de verificación localStorage, Arr no estaba vacío:
if(listArr.length > 0){ localStorage.setItem("New Todo", JSON.stringify(listArr)); }