javascript erro 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
Matheus Rodrigues
27/12/2019
desculpa gente sem querer eu comentei duas vezes
GOSTEI 0
Lucas Conceição
27/12/2019
Olá Matheus,
Primeiramente, você não deve usar o mesmo ID para tags html diferentes, o proposito do ID é que ele seja único numa pagina.
O problema em questão no seu código, é que você está definindo de forma equivocada os parâmetro da função getElementById(), está função espera por parâmetro apenas o ID da tag que ela deverá retornar, por isso os ID devem ser únicos, para o seu código funcionar, ele poderia ser escrito desta forma
No HTML:
No seu JS
Qualquer coisa, é só falar. Abraços
Primeiramente, você não deve usar o mesmo ID para tags html diferentes, o proposito do ID é que ele seja único numa pagina.
O problema em questão no seu código, é que você está definindo de forma equivocada os parâmetro da função getElementById(), está função espera por parâmetro apenas o ID da tag que ela deverá retornar, por isso os ID devem ser únicos, para o seu código funcionar, ele poderia ser escrito desta forma
No HTML:
<div class="container"> <div class="row"> <div class="col-xs-12"> <!--Veja aqui que foi definido para o input, um ID "myText"--> <input type="text" placeholder="Digite algo aqui" id="myText"> <!--E aqui para o botão, um ID "myBtn"--> <button id="myBtn" type="button">add</button> </div> </div> </div>
No seu JS
//Lembre de definir o tipo do script, é importante <script type="text/javascript"> function exibirMensagem() { //Aqui a função getElementById() é chamada passando por parâmetro unicamente o ID da tag que eu preciso buscar //E em seguida o atributo value que ira retornar o que tem dentro dela var texto = document.getElementById("myText").value; //Aqui você pode usar o alert() ou console.log() alert(texto); } // Novamente, a função recebe apenas o ID da tag que ela precisa encontrar var btn = document.getElementById("myBtn"); btn.addEventListener("click", exibirMensagem); </script>
Qualquer coisa, é só falar. Abraços
GOSTEI 0
Matheus Rodrigues
27/12/2019
Bom eu fiz dois teste. Eu copiei seu codigo e deu certo porem quando eu faço não funciona.
GOSTEI 0
Matheus Rodrigues
27/12/2019
Bom eu fiz esse dois exemplos. O codigo que está comentado está funcioando já o outro não está pq?
var input = document.getElementById("input"); //function mensagem(){ // alert(input.value); //} var btn = document.getElementById("button"); //btn.addEventListener("click",mensagem); var t = console.log(input.value); btn.addEventListener('click', t);
GOSTEI 0
Lucas Conceição
27/12/2019
Bom eu fiz esse dois exemplos. O codigo que está comentado está funcioando já o outro não está pq?
var input = document.getElementById("input"); //function mensagem(){ // alert(input.value); //} var btn = document.getElementById("button"); //btn.addEventListener("click",mensagem); var t = console.log(input.value); btn.addEventListener('click', t);
Olá Matheus,
a função addEventListener() espera uma função como segundo parâmetro, veja o seu código:
var t = console.log(input.value); btn.addEventListener('click', t)
Nele, você está passando uma variável como segundo parâmetro, por esse motivo não funciona.
GOSTEI 0