Beispiel:Form-number.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0;" />
    <link rel="stylesheet" type="text/css" media="screen" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css" />
    <title>Zahleneingabe mit type="number"</title>
    <style>
    body {
	  margin: 2em auto;
	}
    label {
	  display: block;
	  margin: 2em;
	}
  </style>
  <script>
document.addEventListener("DOMContentLoaded", function() {
    var groesse = document.querySelector("#groesse"),
          masse = document.querySelector("#masse"),
          bmi = document.querySelector("#bmi");
          critic = document.querySelector("#critic");
    document.addEventListener("input", berechneBMI);
    berechneBMI();
    function berechneBMI() {
        var bmiWert = masse.valueAsNumber / Math.pow((groesse.valueAsNumber / 100), 2);
        var formatter = new Intl.NumberFormat(
                "de-DE",
                { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping:false });
        let bewertung;
        if (bmiWert < 12)
            bewertung = "Lebensgefährliches Untergewicht, rufen Sie den Notarzt, gehen Sie nicht allein ins Krankenhaus!!";
        else if (bmiWert < 16)
            bewertung = "Hochgradiges Untergewicht. Gehen Sie ins Krankenhaus, lassen Sie sich helfen!";
        else if (bmiWert < 17.5)
            bewertung = "Untergewicht. Lassen Sie Ihre Appetitlosigkeit untersuchen.";
        else if (bmiWert < 18.5)
            bewertung = "Untergewicht. Gönnen Sie sich mal ein Butterbrot mehr.";
        else if (bmiWert <= 25)
            bewertung = "Normalgewicht. Herzlichen Glückwunsch! Machen Sie auch genug Sport?";
        else if (bmiWert < 30)
            bewertung = "Übergewicht. Lassen Sie das Bier und die Chips weg und machen Sie Sport!";
        else if (bmiWert < 35)
            bewertung = "Adipositas I. Fragen Sie Ihren Arzt, wie Sie abnehmen können!";
        else if (bmiWert < 40)
            bewertung = "Adipositas II. Fragen Sie unbedingt Ihren Arzt, wie Sie abnehmen können!";
        else
            bewertung = "Schwere Adipositas! Lebensgefahr, lassen Sie sich dringend helfen!";
            
        bmi.textContent = formatter.format(bmiWert);
        critic.textContent = bewertung;    
    }
});
  </script>
</head>
<body>
  <h1>Body-Mass-Index</h1>
  <form>
    <label for="groesse">
      Größe: 
      <input id="groesse" type="number" min="100" max="220" step="1" value="175">
      cm
     </label>
    <label for="masse">
      Masse: 
      <input id="masse" type="number" min="30" max="225" step="0.5" value="75">
      kg
    </label>
    <label for="bmi">BMI:
        <output id="bmi"></output>
    </label>
    <label for="critic">Bedeutung:
        <output id="critic"></output>
    </label>
  </form>
</body>
</html>