Funktion wird nicht ausgeführt

  • Hey,

    ich bin noch recht unerfahren was Html / javascript angeht. Ich habe eine kleine Funktion geschrieben, die nach Eingabe von zwei Werten (Gewicht und Kfa) ein maximales und empfohlenes Defizit ausgibt.

    Das ganze soll sofort nach Eingabe der Werte erfolgen ohne ein extra Klick auch einen Button oder ähnliches. Allerdings passiert nichts wenn man Werte eingibt, weiß jemand wo der Fehler liegt?



    Das Skript sieht wie folgt aus:


    HTML
    1. <form id="myForm">
    2. <div>Biometrie</div>
    3. <input type="number" name="weight" min="30" step="0.50" placeholder="Gewicht in kg" required>
    4. <input type="number" name="kfa" min="5" step="0.50" placeholder="KFA" required><br><br>
    5. <p><span>Empfohlen:</span> <output id="empf" for="weight kfa">0</output> kcal</p>
    6. <p><span>Maximal:</span> <output id="max" for="weight kfa">0</output> kcal</p>
    7. </form>


  • Ich muss aber noch was sagen zu deinen Script-

    Deine Zeile

    Code
    1. result = weight * (kfa / 100) * 70;
    2. result = weight_val * (kfa / 100) * 70;

    laufen so und scheinen auch ok zu sein .

    Ich würde das weight anders aufufen , zb als id

    Code
    1. const w=document.getElementById("weight").value;
    2. const k=document.getElementById("kfa").value;

    dafür muss die id auch auch in HTML stehen.

    Wenn dein HTML so ausieht

    Code
    1. <input type="number" value="" id="weight" min="30" step="0.50" placeholder="Gewicht in kg" required>

    kann man im Javascript trotzdem miit

    Code
    1. var variable_zum_weiter_arbeiten=weight;

    drauf zugreifen.


    ICH finde das Sch... und Fehleranfällig.

    Dein Script würde ich so erstellen.

    Ich würde gerne mal die andern Fragen was die davon halten ?

    und ob das weight von TE ok ist ?

    Oder wie bei mir anders abgefragt werden soll ??