Substituir Prompt pelo Input do HTML para capturar dados?

Gostaria de saber como faço para capturar os dados do usuário e calcular com o botão do input, sem ter que usar o prompt como acontece no script logo abaixo. Se possível, desejaria apenas substituir o prompt pelo input do HTML (do jeito que está logo abaixo de “Demonstração”).

Obsevação: o script é para calcular o IMC do usuário.

Script do HTML

<h3>Demonstração</h3>
Olá! Qual é a sua altura?<br>
<input type="text" name="campo">
<input type="button" value="Calcular"><br><br>	

Script do JavaScript

Isto deve resolver.

HTML:

<h3>Calcular IMC</h3>
<div>
   <label>Altura</label>
   <input type="text" id="altura">
</div>
<div>
    <label>Peso</label>
    <input type="text" id="peso">
</div>
<input type="button" value="Calcular" onclick="calcularIMC()"><br><br>
<div id="imc"></div>
<div id="msg"></div>

JAVASCRIPT:

function calcularIMC() {
     var altura = document.getElementById("altura").value;
     var peso = document.getElementById("peso").value;
     var imc = (peso / (altura * altura)).toFixed(1);
     var divImc = document.getElementById("imc");
     var divmsg = document.getElementById("msg");
     if (isNaN(imc)) {
        divmsg.textContent = ' Digite um número válido!';
     } else {
        divImc.textContent = "O seu IMC é de " + imc + ".";
        if (imc < 18.5) {
             divmsg.textContent = 'Está abaixo do normal!';
        }
        if (imc > 35) {
             divmsg.textContent = ' Você está acima do peso!';
        }
        if (imc >= 18.5 && imc <= 35) {
             divmsg.textContent = ' Está dentro normal.';
        }
     }
}
1 curtida

Cara, muito obrigado mesmo! Era exatamente isso que precisava. Grato.