Jason: calculation

Hi, ich bin neu zu JavaScript und suche Hilfe mit dieses Problem:

Ich habe eine Formular mit <input type="text" name="grossrate">. "onchange" JavaScript soll kontrollieren ob Betrag uber Wert 1 (z.B. 50). Wenn nicht JavaScript soll ein Kalkulation machen ((x * 0,042) + 1.60), das Wert runden zu Wahrung und dies in eine andere Inputfeld anzeigen.

Danke fur Hilfe
Jason

  1. Hallo!

    Ich habe eine Formular mit <input type="text" name="grossrate">. "onchange" JavaScript soll kontrollieren ob Betrag uber Wert 1 (z.B. 50). Wenn nicht JavaScript soll ein Kalkulation machen ((x * 0,042) + 1.60), das Wert runden zu Wahrung und dies in eine andere Inputfeld anzeigen.

    Und wo ist das Problem?
    Dazu benötigst du eine Funktion die bei onchange aufgerufen wird in der lediglich eine IF-Abfrage eingebaut ist.

    --
    Lg,
    Snafu
  2. Hi!

    Ich habe eine Formular mit <input type="text" name="grossrate">. "onchange" JavaScript soll kontrollieren ob Betrag uber Wert 1 (z.B. 50). Wenn nicht JavaScript soll ein Kalkulation machen ((x * 0,042) + 1.60), das Wert runden zu Wahrung und dies in eine andere Inputfeld anzeigen.

    Die Funktion kannst du über den Eventhandler onchange() aufrufen.
    Und eigentlich brauchst du nicht viel für diese Funktion.

    • Wert des Eingabefelds in Variable speichern
    • If-Abfrage durchführen
    • Berechnung anstellen
    • Runden
    • Ergebnis in das Eingabefeld schreiben

    function eingabeCheck()
    {
       var eingabe = document.formularname.inputfeld.value;
       if ( eingabe > 50 )
       {
          var ergebnis = ( eingabe * 0,042 ) + 1.60;
          document.formularname.inputfeld.value = ergebnis;
       }
    }

    Deine Klammern bei deiner Berechnung sind eigentlich gar nicht notwendig, weil "Punkt- vor Strich-Rechnung" gilt.
    So, und wenn du dein Ergebnis noch runden willst, dann schau dir dazu die beiden Funktionen Math.round() und Math.floor() in SelfHTML an.

    Zu bedenken ist noch, daß es immer einige Deppen gibt, die z.B. Text anstelle von Zahlen in das Eingabefeld schreiben.
    Das solltest du eventuell mit einer zusätzlichen Abfrage abfangen und eine entsprechende Meldung ausgeben.

    Schöner Gruß,
    rob

    1. Hallo rob.

      var ergebnis = ( eingabe * 0,042 ) + 1.60;

      Allzu wörtlich wolltest du dies hier sicher nicht nehmen und 0.042 schreiben.

      Einen schönen Freitag noch.

      Gruß, Mathias

      --
      ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
      debian/rules
      1. Hi!

        var ergebnis = ( eingabe * 0,042 ) + 1.60;

        Allzu wörtlich wolltest du dies hier sicher nicht nehmen und 0.042 schreiben.

        Ja, da hast du natürlich recht. Das ist mir gar nicht aufgefallen. Ich habe diese Berechnung einfach per Copy&Paste übernommen.

        Schöner Gruß,
        rob