Gregor: Ausgabefeld realisieren für Berechnung

Hallo,

irgendwie bekomme ich kein gescheites Ausgabefeld für eine kleine Berechnung hin, sondern nur ein "alert".

Habe folgendes zusammengebastelt:

<script type="text/javascript">  
<!--  
function rechnen() {  
var Ergebnis = document.Formular.Liter.value * 60;  
alert("Du benötigst " + Ergebnis + " Gramm Zitronensäure!");  
}  
//-->  
</script>  
</head>  
<body bgcolor="#d3b96c">  
<form name="Formular" action="">  
  
<br><br><br>  
Wieviel Gramm Zitronensäuregranulat benötige ich, um  
<input type="text" name="Liter" size="4">  
Liter fertige Entkalkerlösung (6%) herzustellen?</br> (bitte Punkt statt Komma bei nicht ganzen Zahlen benutzen)<br><br>  
<aling="center"><input type="button" value="berechnen" onclick="rechnen()"></align><br><br>  
Du benötigst [Ausgabefeld] Gramm Zitronensäuregranulat um die gewünschte Menge Entkalkerlösung anzumischen.  
</form>  
</body>  
</html>

Wie kann ich jetzt ein Ausgabefeld einbinden, in dem das Ergebnis angezeigt wird?

Gruß
Gregor

  1. Wie kann ich jetzt ein Ausgabefeld einbinden, in dem das Ergebnis angezeigt wird?

    Du weißt, wie du ein Formularfeld im HTML notierst. Du weißt, wie du auf ein Formularfeld und dessen Wert in JevaScript zugreifst. Du müsstest also wissen, dass value nicht nur auslesen, sondern auch schreiben kannst. Also notierst du einfach ein weiteres input-Feld, sprichst es via JavaScript an und schreibst das Ergebnis in seine value-Eigenschaft.
    Das demonstriert auch das Beispiel zu http://de.selfhtml.org/javascript/objekte/elements.htm#value@title=value.

    Mathias

    1. Mahlzeit molily,

      Also notierst du einfach ein weiteres input-Feld, sprichst es via JavaScript an und schreibst das Ergebnis in seine value-Eigenschaft.

      Das Feld könnte man dann noch "http://de.selfhtml.org/html/formulare/eingabe.htm#nurlesen@title=readonly" setzen, dann kann da auch niemand versehentlich was eingeben ... :-)

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. Hallo,

        Also notierst du einfach ein weiteres input-Feld, sprichst es via JavaScript an und schreibst das Ergebnis in seine value-Eigenschaft.

        Das Feld könnte man dann noch "http://de.selfhtml.org/html/formulare/eingabe.htm#nurlesen@title=readonly" setzen, dann kann da auch niemand versehentlich was eingeben ... :-)

        und da es nur ein Ausgabefeld ist kann man es auch gleich mit

        background:transparent;
        border:none;

        "unsichtbar" machen. Und so hat man nicht so ein hässliches ding, was eh nur eine zahl ausgibt ;)

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
        Go to this
        1. Hi there,

          Das Feld könnte man dann noch "http://de.selfhtml.org/html/formulare/eingabe.htm#nurlesen@title=readonly" setzen, dann kann da auch niemand versehentlich was eingeben ... :-)

          und da es nur ein Ausgabefeld ist kann man es auch gleich mit

          background:transparent;
          border:none;

          "unsichtbar" machen. Und so hat man nicht so ein hässliches ding, was eh nur eine zahl ausgibt ;)

          Dann würd' ich aber gleich auf ein Formularfeld verzichten und das Ergebnis der Berechnung mit innerHTML an die gewünschte Stelle setzen...

          1. Hallo,

            Dann würd' ich aber gleich auf ein Formularfeld verzichten und das Ergebnis der Berechnung mit innerHTML an die gewünschte Stelle setzen...

            jaja ... das war aber jetz auf das eingabefeld vom posting vorher bezogen ... das so was dann sinnlos wäre weis ich auch ;)

            MfG. Christoph Ludwig

            --
            Wo die Sprache aufhört, fängt die Musik an...
            Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
            Go to this
  2. Hallöchen,

    Wie kann ich jetzt ein Ausgabefeld einbinden, in dem das Ergebnis angezeigt wird?

    Vielleicht ist die Verwendung eines span-Elements in html und http://de.selfhtml.org/javascript/objekte/all.htm#inner_html@title=innerHTML im JS auch eine Lösung.

    Im html-Bereich:

    Du benötigst <span id="Ausgabe"></span> Gramm Zitronensäuregranulat um die gewünschte Menge Entkalkerlösung anzumischen.

    Und in der JS-Funktion:

    document.getElementByID("Ausgabe").innerHTML = Ergebnis;

    (Achtung: ungeprüft, könnte sein Copy&Paste funktioniert nicht)

    MfG
    vaudi