Erro ao retornar pegar valores armazenados em localStorage com javascript

2 respostas
html5javascript
B

Estou tentando armazenar tarefas no localStorage, e depois retornar os valores lá armazenados, porém, mesmo com conversões não consigo obter um retorno correto:

Teste
.task {
		background-color: orange;			
		cursor: pointer;
		margin: .3em;
		display: inline-block;
		padding: .5em;
	}

</style>
<div class="container">
	<div>
		<label for="tarefa">Tarefa</label>
		<textarea id="tarefa"></textarea>
	</div>
	<input type="submit" value="adicionar" id="btnSub">
</div>
<div class="tasks">
	
</div>
<script type="text/javascript" src="todo.js"></script>

JavaScript :

window.onload = () => {

let textarea = document.querySelector('#tarefa');
let btnSub = document.querySelector('#btnSub');	
let tasksContainer = document.querySelector('.tasks');	
let divs = [];	
let tarefas = [];

//parsea as tarefas
var data = JSON.parse(localStorage.getItem('tarefas'));
alert(data.length);
alert(data);


//Verifica se existem tarefas armazaenadas
if(data != null){
	//Adiciona as tarefas que estiverem no armazenamento local
	for(var k = 0; k < data.length; k++){
		let divOld = document.createElement('div');	
		let divCon = document.createTextNode(data[k].valueOf());	

		//teste
		console.log(data[k]);										
		//-----------------------------

		divOld.appendChild(divCon);
		divOld.classList.add('task');
		tasksContainer.appendChild(divOld);		
	}
}	

btnSub.addEventListener('click', (e) => {

	e.preventDefault();			
	let div = document.createElement('div');	
	let divContent = document.createTextNode(textarea.value);	

	div.appendChild(divContent);
	div.classList.add('task');

	tasksContainer.appendChild(div);		

	tarefas.push(divContent);

	localStorage.setItem('tarefas', JSON.stringify(tarefas));			

	textarea.value = "";
		
})

}

2 Respostas

J

tarefas realmente contem uma estrutura em json? Posta aqui o que tem dentro de tarefas, antes de armazenar.

B

Eu estou enviando um array contendo as tarefas, trato ele ante s de enviá-lo, e depois quando quiser pegar de volta os valores armazenados no local storage, sinceramente não sei qual é o formato em que as informações estão sendo salvas, por conta disso não sei qual o melhor tratamento o qual devo dar a elas… busquei bastante, mas cada lugar diz algo diferente. Desculpe se falei muito, mas acabei nao dizendo nada, estou começando ainda haha

Criado 11 de dezembro de 2017
Ultima resposta 12 de dez. de 2017
Respostas 2
Participantes 2