Formular html javascript: Formularerstellung

Hallo ich habe mal eine Frage,kann man einzelne Formularfelder bei einem Gewissen Ergebnis unterschiedlich färben zb. wen die Persohn Normalgewichtig ist, färbt sich der Hintergrund in dem Feld "Sie sind:" grün?

Hier ist Mein CODE:

<!DOCTYPE htmlY>
<html>
<head>
<title> BMI Berechnen</title>

</head>
  <script language="JavaScript">

function calculateBmi() {
var weight = document.bmiForm.weight.value
var height = document.bmiForm.height.value
if(weight > 0 && height > 0){	
var finalBmi = weight/(height/100*height/100)
document.bmiForm.bmi.value = finalBmi
if(finalBmi < 18.5){
document.bmiForm.meaning.value = " untergewichtig."
}
if(finalBmi > 18.5 && finalBmi < 25){
document.bmiForm.meaning.value = " gesund."
}
if(finalBmi > 25 && finalBmi < 29.9){
document.bmiForm.meaning.value = " leicht übergewichtig."
}
if(finalBmi > 30 && finalBmi < 39.9){
document.bmiForm.meaning.value = " übergewichtig."
}
if(finalBmi > 40){
document.bmiForm.meaning.value = " stark übergewichtig."
}   
}
else{
alert("Bitte geben sie ihre Daten ein!")
}
}
</script>
    
<body style="background-color:#dfffff;">
<center>
    <font face="arial"/>
    <h1> <b> Berechnen Sie ihren BMI: </b> </h1>
    <p> Bitte füllen Sie die ersten zwei Felder aus :</p>
    <form name="bmiForm">
Dein Gewicht in Kg: <input type="text" name="weight" size="10"><br />
Deine Größe in cm: <input type="text" name="height" size="10"><br />
 <br />
<input type="button" value="BMI berechnen" onClick="calculateBmi()" ><br />
<br />
<br />
Dein BMI bertägt: <input type="text" name="bmi" size="10"><br />
Sie sind: <input type="text" name="meaning" size="19"><br />
<p></p>
  
     
            <img src="BMI.jpg" height="400px"/>
        <p></p>
        <input type="reset" value="Zurücksetzen" />
        
        
</form>
</center>    
</body>
</html>
  1. problematische Seite

    Hello,

    das würde ich über die CSS erledigen.

    document.getElementById("MyElement").classList.add('class'); document.getElementById("MyElement").classList.remove('class'); 
    
    if ( document.getElementById("MyElement").classList.contains('class') ) document.getElementById("MyElement").classList.toggle('class');
    

    bereite dir die passenden CSS-Vereinbarungen vor und schalte sie dann mit den obigen Befehlen passend um. 'class' musst du gegen die Nanen ersetzen.

    Siehe auch Mozilla

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  2. problematische Seite

    @@Formular html javascript

    <!DOCTYPE htmlY>
    

    Y?

    </head>
      <script language="JavaScript">
    

    languge="JavaScript" war schon immer bestenfalls unsinnig, andernfalls falsch. Weg damit!

    if(finalBmi > 40){
    document.bmiForm.meaning.value = " stark übergewichtig."
    }   
    }
    

    Die schließenden Klammern sind stark überzählig.

    else{
    alert("Bitte geben sie ihre Daten ein!")
    }
    }
    

    Déjà-vu. Die schließenden Klammern sind stark überzählig.

    </script>
        
    <body style="background-color:#dfffff;">
    

    Déjà-vu. Zur Position des Scripts gehe zurück zu vorhin.

    Sämtliche Darstellungsangaben sollten im Stylesheet angegeben werden, nicht inline.

    <center>
        <font face="arial"/>
    

    Sämtliche Darstellungsangaben sollten per Stylesheet angegeben werden, nicht mit veralteten HTML-Elementen/-Attributen.

    Dein Gewicht in Kg: <input type="text" name="weight" size="10"><br />
    Deine Größe in cm: <input type="text" name="height" size="10"><br />
    

    Déjà-vu. Zur fehlenden Beschriftungen von Eingabefeldern gehe zurück zu vorhin.

            <input type="reset" value="Zurücksetzen" />
    

    Reset-Buttons sind übrigens i.A. keine gute Idee.

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  3. problematische Seite

    Moin,

    unabhängig vom Code möchte ich darauf hinweisen, dass der BMI meiner bescheidenen Meinung nach kein geeignetes Maß ist, um etwas über die Gewichtigkeit eines Menschen auszudrücken. Man muss sich ja nur die Formel anschauen: Das ist eine „Gewichts-Oberflächen-Dichte“. Die physikalische Dichte ist schon einmal Masse pro Volumen. Dazu kommt, dass die verschiedenen Körperbestandteile unterschiedliche Dichten habe. So ist die Dichte von Muskeln größer als die von Fett, d.h. je mehr Muskeln, desto höher der BMI. Nach dieser Berechnung sind viele Sportler übergewichtig.

    Viele Grüße
    Robert

    1. problematische Seite

      Hallo Robert,

      immerhin zeigt die BMI-Formel, dass man bei Übergewicht an seiner Größe arbeiten sollte, da diese quadratisch in den Wert eingeht. 😉

      Gruß
      Jürgen

      1. problematische Seite

        Hallo Jürgen,

        immerhin zeigt die BMI-Formel, dass man bei Übergewicht an seiner Größe arbeiten sollte, da diese quadratisch in den Wert eingeht. 😉

        genau das berücksichtigt meines Wissens bislang keine Diät 😂 Brigitte!

        Viele Grüße
        Robert

      2. problematische Seite

        Hi,

        immerhin zeigt die BMI-Formel, dass man bei Übergewicht an seiner Größe arbeiten sollte, da diese quadratisch in den Wert eingeht. 😉

        Ich bin nicht übergewichtig, ich bin untergroß 😉

        cu,
        Andreas a/k/a MudGuard

        1. problematische Seite

          Hallo,

          Ich bin nicht übergewichtig, ich bin untergroß 😉

          Mir hat auch mein Arzt gesagt, ich sei nicht groß genug für mein Gewicht. Ich esse und trinke jetzt mehr, um zu wachsen!

          Gruß
          Kalk

          1. problematische Seite

            Hallo,

            Ich bin nicht übergewichtig, ich bin untergroß 😉

            Mir hat auch mein Arzt gesagt, ich sei nicht groß genug für mein Gewicht. Ich esse und trinke jetzt mehr, um zu wachsen!

            👍

            Gruß
            Jürgen

  4. Liebe(r) Unbekannte,

    wie soll ich Dir helfen, wenn Du noch nicht einmal einen (Nick-)Namen angegeben hast?

    Hier ist Mein CODE:

    Dazu wurde schon ausführlich Stellung genommen. Hier noch ein paar Links zum Umgang mit Formularen und der Gestaltung von Elementen auf einer Seite:

    Nun zu Deiner eigentlichen Frage:

    if(finalBmi < 18.5){ [...]
    if(finalBmi > 18.5 && finalBmi < 25){ [...]
    if(finalBmi > 25 && finalBmi < 29.9){ [...]
    if(finalBmi > 30 && finalBmi < 39.9){ [...]
    if(finalBmi > 40){ [...]

    Das sieht für mich danach aus, als ob man fünf verschiedene Farben benötigt. Das klingt nach fünf passenden Klassen, die man per JavaScript vergeben und mit CSS passend gestalten kann:

    .weight18 { background: #0f0; }
    .weight25 { background: #cfc; }
    .weight30 { background: #ffc; }
    .weight40 { background: #fcc; }
    .weight41 { background: #f00; }
    

    Liebe Grüße,

    Felix Riesterer.

  5. Servus!

    Ein Beispiel mit HTML5 und modernem JavaScript findest Du im Wiki:

    Herzliche Grüße

    Matthias Scharwies

    --
    Es gibt viel zu tun: ToDo-Liste
    1. Hello,

      das gibt nur Fehlermeldungen

      Exception encountered, of type "Error"
      [WRiZ8REWAs-QcRmSBEiy0QAAAAY] /extensions/Selfhtml/frickl.php/Beispiel:HTML_button-Element-button.html Error from line 75 of /var/www/mediawiki127/extensions.local/Selfhtml-2.3/frickl.php: Call to undefined method Article::getRawText()
      Backtrace:
      #0 /var/www/mediawiki127/extensions.local/Selfhtml-2.3/frickl.php(27): Frickl->getExampleData()
      #1 /var/www/mediawiki127/extensions.local/Selfhtml-2.3/frickl.php(228): Frickl->compose()
      #2 {main}
      

      Liebe Grüße
      Tom S.

      --
      Es gibt nichts Gutes, außer man tut es
      Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
      1. Servus!

        Hello,

        das gibt nur Fehlermeldungen

        Schon gemeldet Forum

        Liebe Grüße
        Tom S.

        Herzliche Grüße

        Matthias Scharwies

        --
        Es gibt viel zu tun: ToDo-Liste