"TypeError: Cannot read property ,value, of null" in to-do app
Trabalhando em um aplicativo simples de fazer. O comportamento esperado é que o usuário digite algo na caixa de texto, clique em criar e anexe à lista.
O que acontece é que quando você clica em criar, nada acontece. Não há erros retornados no terminal, então fiquei confuso por um tempo até olhar no console do Chrome. Isso mostra isso:
Mas esta é a parte que acredito estar causando o problema:
fetch('/todos/create', {
method: 'POST',
// body is whatever the user has typed into the description field
body: JSON.stringify({
'description': document.getElementById('description').value
}),
// let the server know you're sending JSON
headers: {
'Content-Type': 'application/json'
}
})
Nas perguntas semelhantes que vi sobre isso, as pessoas dizem que é provável que esteja tentando obter dados de um objeto que ainda não existe. Mas neste caso tenho quase certeza de que existe, a menos que eu esteja entendendo mal?
-----------------------------------
Nunca presuma que seus seletores encontrarão os elementos que você acha que encontrarão. Seu erro significa que document.getElementById('description') não está encontrando um elemento correspondente. Portanto, você está efetivamente solicitando a propriedade value de null.
-----
Então, como posso garantir que ela seja encontrada corretamente?
-----
alteração:
<input type="text" name="description">
para:
<input type="text" id="description">
-----------------------------------