Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre ter que declarar a variável dentro da função

Porque dessa forma o nome completo não é exibido:

<meta charset="UTF-8">

Nome: <input id="nome" />
Sobrenome: <input id="sobrenome" />
<button>Exibir nome completo!</button>


<script>

    function exibeNomeCompleto() {

        alert(nomeCompleto);

    }

    var nome = document.querySelector("#nome");
    var sobrenome = document.querySelector("#sobrenome");

    var nomeCompleto = (nome.value + " " + sobrenome.value);

    var button = document.querySelector("button");

    button.onclick = exibeNomeCompleto;


</script>

Mas assim é:

<meta charset="UTF-8">

Nome: <input id="nome" />
Sobrenome: <input id="sobrenome" />
<button>Exibir nome completo!</button>


<script>

    function exibeNomeCompleto() {

        var nomeCompleto = (nome.value + " " + sobrenome.value);
        alert(nomeCompleto);

    }

    var nome = document.querySelector("#nome");
    var sobrenome = document.querySelector("#sobrenome");

    var button = document.querySelector("button");

    button.onclick = exibeNomeCompleto;


</script>
2 respostas

Boa noite, Ramon! Como vai?

Isso ocorre pois no primeiro caso os valores dos campos de texto são lidos exatamente no momento em que o código JavaScript é carregado na memória e não no momento que vc clica no botão! Sendo assim, como inicialmente os valores dos campos de texto são vazios, ao clicar no botão não é mostrado nada no alert()!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

solução!

Faala Gabriel, boa tarde. Esclarecido, tks!

Obs.: cliquei errado na opção "SOLUCIONADO". Tem como mudar?