javascript Value

HTML

JavaScript

27/12/2019

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:
 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

Matheus Rodrigues

Curtidas 0

Respostas

Stella Oliveira

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:
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"
, 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:

var text = document.getElementById("app");

GOSTEI 0
POSTAR