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

mais de um input

quero criar um programa que receba 3 inputs do usuario ao clicar em um botão. Mas as váriaveis estão dando Nan como no exemplo a seguir.

<label for="comprimento">comprimento</label>
<input id ="comprimento" >
<label for="altura">altura</label>
<input id ="altura">
<label for="largura">largura</label>
<input id ="largura" >
<button>calcular</button>
<script>
var comprimento = parseFloat(document.querySelector("#comprimento").value);
var altura = parseFloat(document.querySelector("#altura").value);
var largura = parseFloat(document.querySelector("#largura").value);

function alerta() {
    alert(comprimento*altura*largura)
}

var button = document.querySelector("button");
button.onclick = alerta
</script>
6 respostas

oi.. você deve usar: parseFloat(document.getElementById("comprimento").value)... e o mesmo para os demais

continua sinalizando Nan

acho que tu deveria colocar as var que puxam os dados dentro dos input para o interior da função, para que ele puxe os valores nessa hora que clicar. Senão ele pega os valores da hora que carrega a pagina, ou seja, nada.

<label for="comprimento">comprimento</label>
<input id ="comprimento" >
<label for="altura">altura</label>
<input id ="altura">
<label for="largura">largura</label>
<input id ="largura" >
<button>calcular</button>
<script>


function alerta() {
var comprimento = parseFloat(document.querySelector("#comprimento").value);
var altura = parseFloat(document.querySelector("#altura").value);
var largura = parseFloat(document.querySelector("#largura").value);
    alert(comprimento*altura*largura);


}

var button = document.querySelector("button");
button.onclick = alerta
</script>
solução!

era isso mesmo, obrigada!

de nada ;)