javascript Value
Bom dia gente estou aqui testando meus conhecimentos em html,css e js. Estou tentando pegar o valor do input, porem não vai. e aparece esse erro: Cannot read property 'value' of null, mais cedo aparecia esse mesmo erro só que addEventLisner inves de value. Como posso resolver isso ?
meu codigo js:
meu codigo html:
meu codigo js:
var btn = document.querySelector("#app button"); var text = document.getElementById("#app input"); function mostra(texto){ console.log(texto); } var t = text.value; btn.addEventListener("click",mostra(t));
meu codigo html:
<div class="container"> <div class="row"> <div id="app" class="col-xs-12"> <input type="text" placeholder="Digite algo aqui" id="add"> <button type="button">add</button> </div> </div> </div>
Matheus Rodrigues
Curtidas 0
Respostas
Stella Oliveira
27/12/2019
Você tá selecionando errado.
A função getElementById aceita apenas uma string. Você está passando um seletor completo.
Troca essa linha aqui:
Por isso aqui:
Quando você usando o getElementById, você não precisa usar caracteres especiais de seletor ( #, ., etc), por que ele só vai pegar o texto e adicionar o # automaticamente.
Quando você dá um document.getElementById("#app input"), o que ele está fazendo por debaixo dos panos com esse seletor é, sacou ?
Lembre se, você está determinando que você quer um único elemento usando apenas o ID
O getElementById funcionaria se você tivesse feito ele assim:
A função getElementById aceita apenas uma string. Você está passando um seletor completo.
Troca essa linha aqui:
var text = document.getElementById("#app input");
Por isso aqui:
var text = document.querySelector("#app input");
Quando você usando o getElementById, você não precisa usar caracteres especiais de seletor ( #, ., etc), por que ele só vai pegar o texto e adicionar o # automaticamente.
Quando você dá um document.getElementById("#app input"), o que ele está fazendo por debaixo dos panos com esse seletor é
"##app input"
Lembre se, você está determinando que você quer um único elemento usando apenas o ID
O getElementById funcionaria se você tivesse feito ele assim:
var text = document.getElementById("app");
GOSTEI 0