Papst-ralle: java script variablen und addieren

so ich hab mir das mal geschrieben. jetzt wollte ich alle funktionen mal testen, aber bei addition schreibt er mir nciht die summe hin, sondern reiht den ganzen schmarrn aneinander. hilfe!!!!!

am besten wäre einfach die verbesserte version von meinem entwurf
danke

<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--

function Quadrat() {
var aaa = document.Formular.Eingabe.value
var bbb = document.Formular.eingabe2.value
var ccc = document.Formular.eingabe3.value
var ddd = document.Formular.eingabe4.value

var Ergebnis = aaa+bbb+ccc+ddd ;
alert(" " + ( aaa ) + "+"+( bbb ) + "+"+( ccc ) + "+"+(ddd ) +" = " + Ergebnis);
}
//-->
</script>
</head>
<body>
<form name="Formular" action="">
<input type="text" name="Eingabe" size="3"> x^3 +

<input type="text" name="eingabe2" size="3"> x^2 +
<input type="text" name="eingabe3" size="3"> x +
<input type="text" name="eingabe4" size="3">
<input type="button" value="Lösen" onclick="Quadrat()">
</form>
</body>
</html>

  1. Hallo Papst,

    du "addierst" Strings. Wandle die Inputs in Zahlen um, dann sollte es gehen. http://de.selfhtml.org/javascript/objekte/unabhaengig.htm sollte Dir weiterhelfen.

    Gruß, Jürgen

    1. Moin

      Tipp:
      var aaa = parseInt("0"+document.Formular.Eingabe.value);
      fängt auch Fehleingaben, zB nur Buchstabeneingaben, ab.

      Gruß
      rfb

      --
      Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
      (Galileo Galilei)
      1. Hallo,

        var aaa = parseInt("0"+document.Formular.Eingabe.value);

        gefährlicher Tipp! Zahlen, die mit führender Null notiert werden, sind per definitionem als Oktalzahlen zu interprtieren. Das Ergebnis ist in den meisten Fällen weit entfernt von dem, was man intuitiv erwarten würde. Besser:

        var aaa = 0 + document.Formular.Eingabe.value;

        Durch die Addition der Zahl(!) Null erzwingst du die Umwandlung aller Operanden, also auch des Formularinhalts, in eine Zahl.

        Ciao,
         Martin

        --
        Es existiert kein Weg, "für" etwas zu optimieren, sondern nur gegen alles andere.
          (Cheatah)
        1. Hallo Martin.

          var aaa = 0 + document.Formular.Eingabe.value;

          Durch die Addition der Zahl(!) Null erzwingst du die Umwandlung aller Operanden, also auch des Formularinhalts, in eine Zahl.

          Nein, das ist nicht der Fall:

          var a = 'Foo';  
            
          alert(0 + a); // 0Foo
          

          Dadurch dass das „+“ auch als Stringverkettungsoperator agiert, hat diese Operation hier Vorrang. Deshalb besser so:

          var aaa = 1 * document.Formular.Eingabe.value;

          So erhält man in jedem Fall eine gültige Nummer oder eben NaN.

          Einen schönen Mittwoch noch.

          Gruß, Mathias

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

          gefährlicher Tipp! Zahlen, die mit führender Null notiert werden, sind per definitionem als Oktalzahlen zu interprtieren. Das Ergebnis ist in den meisten Fällen weit entfernt von dem, was man intuitiv erwarten würde.

          Hm, habs eben mal getestet (allerdings nur in Opera) zahlen bis 99 als String mit führender 0 durch parsInt umgewandelt und damit gerechnet - alles im Dezimalsystem.

          ich glaub, der Hinweis auf Probleme mit der führenden Null bezieht sich eher auf Zahlen, die einfach mit führender 0 im Script stehen.

          Aber die sichere Variante wäre natürlich die explizite Angabe des Dezimalsystems:

          var aaa = parseInt("0"+document.Formular.Eingabe.value,10);

          Gruß
          rfb

          --
          Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
          (Galileo Galilei)
    2. hmmm, ja da bin ich nach suchen auch schon mal drauf gestoßen. ich versteh das nur nicht. wo soll ich was hinschreiben da mit es funktioniert.
      hab heute zum ersten mal html oder java in der hand gehabt.
      willst du mir nicht schnell meinen entwurf reparieren? wär nett
      muss für meine facharbeit eine seite schreiben, die gleichungen 3. und 4.grades schreibt.

      1. Hallo papst,

        hab heute zum ersten mal html oder java in der hand gehabt.

        Java und Javascript haben nur die ersten 4 Buchstaben gemeinsam.

        willst du mir nicht schnell meinen entwurf reparieren? wär nett
        muss für meine facharbeit eine seite schreiben, die gleichungen 3. und 4.grades schreibt.

        siehe Tipp von rfb.

        Gruß, Jürgen