• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

BMI Rechner Fehler Hilfe!!

Nikita

Mitglied
Hey liebe Community,

hab da mal n kleinen BMI Rechner gebastelt leider bekomm ich kein Ergebnis ausgeben hab irgendwo n Denkfehler, find ihn aber nicht.. könnt ihr mir helfen???

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="mybmi.js"></script>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
    <div class="BMI">
        <form name="bmiform">
            <div class="Geschlecht">
                Ihr Geschlecht:
                <select name="geschlecht">
                    <option>maennlich</option>
                    <option>weiblich</option>
                </select>
            </div>
            <div class="Alter">
                Sie sind zwischen: <select name="alter">
                  <option>19-24</option>
                  <option>25-34</option>
                  <option>35-44</option>
                  <option>45-54</option>
                  <option>55-64</option>
                  <option>älter als 64</option>
                </select>
                Jahre alt
            </div>
            <div class="groesse">
                Ihre Größe in cm<input type="text" name="groesse" /><br />
            </div>
            <div class="gewicht">
                Ihr Gewicht in kg<input type="text" name="gewicht" /><br />
            </div>
            <input type="button" name="submit" value="berechnen" onclick="berechnen();">
            <br />
        </form>
    </div>
    </body>
</html>

Code:
// JavaScript Document
var bmiDaten = {
  'weiblich': [
    {von: 18, bis: 23},
    {von: 19, bis: 24},
    {von: 20, bis: 25},
    {von: 21, bis: 26},
    {von: 22, bis: 27},
    {von: 23, bis: 28}   
  ],
 
  'maennlich': [
    {von: 19, bis: 24},
    {von: 20, bis: 25},
    {von: 21, bis: 26},
    {von: 22, bis: 27},
    {von: 23, bis: 28},
    {von: 24, bis: 29}
  ],

};
var bmi        = 0;
var auswertung  = "";

function berechnenBMI()
{
  var weight = document.bmiform.gewicht.value;
  var height = document.bmiform.groesse.value;
  if (weight < 10 || weight > 200) { alert("Falsches Gewicht.\nBitte Daten erneut eingeben"); return null; }
  if (height < 50 || height > 250) { alert("Falsche Grösse.\nBitte Daten erneut eingeben"); return null; }
  bmi = Math.round(weight / (Math.pow((height/100),2)));
 
}

function selectWert(select_id) {
    var form = document.getElementById(select_id);

    return form.options[form.selectedIndex].value
}

function auswertungBMI()
{
    var alter      = selectWert('alter');
    var geschlecht = selectWert('geschlecht');
    var idealgewicht = bmiDaten[geschlecht][Number(alter)];   
   
    output = "Ihr BMI beträgt " + bmi + ".n";
    if (bmi < idealgewicht['von']) auswertung = auswertung + 'Sie haben Untergewicht';
    else if (bmi > idealgewicht['bis']) auswertung = auswertung + 'Sie haben Übergewicht';
    else auswertung = auswertung + 'Ihr Gewicht liegt im idealen Bereich';
}


function berechnen()
{
    auswertung = "";
    bmi = 0;   
    berechnenBMI();
    auswertungBMI()
    alert(auswertung);
}


LG Niki
 
Werbung:
Hallo,

der denkfehler ist, das dies in mehrere funktionen geteilt hast, die vielleicht auch einzeln funktionieren aber die ergebnise die rauskommen nichts mit machst. Daten in funktionen musst zurückgeben zb in auswertungBMI()

Cheffchen
 
Werbung:
Zurück
Oben