Mexchen: Kann mir jemand kurz helfen?

Hi Leute,

Kann mir jemand mal helfen?

Möchte mittels JS folgendes realisieren:
Möchte gerne ein Finanzierungs HP erstellen.

Formular sieht so aus:

Finanzierungshöhe:
Laufzeit in Jahren:
Zinssatz:
Ergebnis:

Die formel für dieses vorhaben habe ich natürlich schon.
Nur kann ich sie mittels JS nicht umsetzen.

grüße Andi

  1. Hallo!

    Die formel für dieses vorhaben habe ich natürlich schon.
    Nur kann ich sie mittels JS nicht umsetzen.

    Nun, wenn du uns die Formel mitteilen würdest, wäre es leichter, sie umzusetzen ;-)
    Auf die Felder kannst du mittels document.forms[0].elements[0].value zugreifen, wobei das erste Feld, das element 0 ist, das zweite element 1 usw.
    Wie's weiter geht, hängt von der Formel ab.

    bye
    Steffen

    1. Hallo!

      Die formel für dieses vorhaben habe ich natürlich schon.
      Nur kann ich sie mittels JS nicht umsetzen.

      Nun, wenn du uns die Formel mitteilen würdest, wäre es leichter, sie umzusetzen ;-)
      Auf die Felder kannst du mittels document.forms[0].elements[0].value zugreifen, wobei das erste Feld, das element 0 ist, das zweite element 1 usw.
      Wie's weiter geht, hängt von der Formel ab.

      bye
      Steffen

      Hi
      Reicht es, wenn ich dir die Formel so gebe, wie ich sie in Excel habe?

      =(((A1/100)*A2)/12)*(365/360)

      A1= Finanzierungshöhe
      A2= Zinssatz

      1. Hallo!

        =(((A1/100)*A2)/12)*(365/360)

        A1= Finanzierungshöhe
        A2= Zinssatz

        var Finanzierungshoehe = document.forms[0].elements[0].value;
        var Zinssatz = document.forms[0].elements[1].value;

        var Ergebnis = (((parseFloat(Finanzierungshoehe)/100)*parseFloat(Zinssatz))/12)*(365/360);

        Bei Finanzierungshoehe und Zinssatz musst da gucken, ob's die richtigen elements sind.

        bye
        Steffen

        1. Hi,

          Funktioniert nicht so, wie ich es will.

          Hier mein Code:
          <html>
          <head>
          <title>Finanzierungsberechnung</title>
          </head>
          <form name="forms" method="post" action="">
          <script language="JavaScript">
          var Finanzierungshoehe = document.forms[0].elements[0].value;
          var Zinssatz = document.forms[0].elements[1].value;
          var Ergebnis = document.forms[0].elements[2].value;
          var Ergebnis = (((parseFloat(Finanzierungshoehe)/100)*parseFloat(Zinssatz))/12)* (365/360)
          </script>
          <table width="400" border="0">
          <tr><td>Finanzierungshöhe:</td><td><input type="text" name="Finanzierungshöhe" size="25"></td></tr>
          <tr><td>Zinssatz:</td><td><input type="text" name="Zinssatz" size="25"></td></tr>
          <tr><td>monatliche Belastung</td><td><input type="text" name="Ergebnis" size="25"></td></tr>
          </table>
          </form>
          </body>
          </html>

          Ich will noch ein button einbauen, "ergebnis". Wenn auf diesen geklickt wird, soll im Ergebnisfeld das auch stehen.

          Muß gestehen. hab JS noch nicht so durchleuchtet.

          grüße Andi

          1. Hallo!

            Ich will noch ein button einbauen, "ergebnis". Wenn auf diesen geklickt wird, soll im Ergebnisfeld das auch stehen.

            <html>
            <head>
            <title>Finanzierungsberechnung</title>
            <script language="JavaScript">
            <!--
            function ergebnis()
            {
            var Finanzierungshoehe = document.forms[0].elements[0].value;
            var Zinssatz = document.forms[0].elements[1].value;
            document.forms[0].elements[2].value = (((parseFloat(Finanzierungshoehe)/100)*parseFloat(Zinssatz))/12)*(365/360);
            }
            //-->
            </script>
            </head>
            <body>
            <form name="forms" method="post" action="">
            <table width="400" border="0">
            <tr><td>Finanzierungshöhe:</td><td><input type="text" name="Finanzierungshöhe" size="25"></td></tr>
            <tr><td>Zinssatz:</td><td><input type="text" name="Zinssatz" size="25"></td></tr>
            <tr><td>monatliche Belastung</td><td><input type="text" name="Ergebnis" size="25"></td></tr>
            <tr><td> </td><td><input type="button" value="Ergebnis" onClick="ergebnis()"></td></tr>
            </table>
            </form>
            </body>
            </html>

            Du brauchst eine function und einen button, um selbige aufzurufen.

            bye
            Steffen

            1. Hi

              Ich habe dieses Script jetzt genauso eingegeben. Aber wenn ich auf ergebnis klicke, kommt keines. In der Statuszeile kommt die info: Fehler auf der seite.

              grüße Andi

              1. Hallo!

                Mein opera hat's auch so schon gemacht, jetzt aber wohl auch die anderen:

                <html>
                <head>
                <title>Finanzierungsberechnung</title>
                <script language="JavaScript">
                <!--
                function ergebnis()
                {
                var Finanzierungshoehe = document.forms[0].elements[0].value;
                var Zinssatz = document.forms[0].elements[1].value;
                document.forms[0].elements[2].value = (((parseFloat(Finanzierungshoehe)/100)*parseFloat(Zinssatz))/12)*(365/360);
                }
                //-->
                </script>
                </head>
                <body>
                <form method="post" action="">
                <table width="400" border="0">
                <tr><td>Finanzierungshöhe:</td><td><input type="text" size="25"></td></tr>
                <tr><td>Zinssatz:</td><td><input type="text" size="25"></td></tr>
                <tr><td>monatliche Belastung</td><td><input type="text" size="25"></td></tr>
                <tr><td> </td><td><input type="button" value="Ergebnis" onClick="ergebnis()"></td></tr>
                </table>
                </form>
                </body>
                </html>

                bye
                Steffen

                1. Hi,

                  es funktioniert. Danke sehr für deine mühe.

                  Grüße Andi

                2. Hi

                  Ne kleine Frage noch. Wie kann ich das Ergebnis bis auf 2 Kommastellen runden?

                  Grüße Andi

                  1. Hallo!

                    Ne kleine Frage noch. Wie kann ich das Ergebnis bis auf 2 Kommastellen runden?

                    document.forms[0].elements[2].value = Math.round((((parseFloat(Finanzierungshoehe)/100)*parseFloat(Zinssatz))/12)*(365/360)*100)/100;

                    bye
                    Steffen

                    1. Hi,

                      Danke sehr. Eine Frage noch (ich glaube das ist jetzt wirklich die letzte). Wenn ich im 1. Feld zB. 500000 eingebe, wie kann ich das so machen, dass es einen punkt inzwischen gibt 500.000. Dies wäre auch beim ergebnich nicht schlächt.

                      Grüße Andi

                      1. Hallo!

                        Wenn ich im 1. Feld zB. 500000 eingebe, wie kann ich das so machen, dass es einen punkt inzwischen gibt 500.000. Dies wäre auch beim ergebnich nicht schlächt.

                        Tja, du könntest mit substring() (http://www.teamone.de/selfhtml/tecl.htm#a27 und string.length (http://www.teamone.de/selfhtml/tecl.htm#a2) arbeiten und die Teilstrings in Variablen speichern. Die kannst du dann wieder zusammensetzen und einen Punkt dazwischen schieben: Teil1 + '.' + Teil2 + '.' + Teil3 oder so.
                        Aber dafür bin ich jetzt zu müde und etwas kannst du ja auch "self" machen ;-)

                        bye
                        Steffen

                        1. Hi,
                          OK, danke nochmal für die Hilfe

                          grüße aus österreich, Andi

                3. Hallo oaktree!

                  Mein opera hat's auch so schon gemacht, jetzt aber wohl auch die anderen:

                  Hey ... das eröffnet ja völlig neue Möglichkeiten für Browserweichen!

                  <script>
                  function test()
                  {
                    if(document.forms[0].elements)
                      document.forms[0].tf.value="Opera!";
                    else
                      document.forms.tf.value="InternetExplorer oder Netscape".substr(-8).substr(0,16);
                  }
                  </script>
                  <body onLoad="test();">
                  <form name="forms">
                  <input type=text name="tf" size=30>
                  </form>

                  Gruss,
                   Carsten

                  P.S: wenn wer eine möglichst unsaubere, impementationsabhängige oder sonstwie oskure Möglichkeit kennt den Mozilla rauszufischen - nur her damit.

                  1. Hallo Carsten!

                    Mein opera hat's auch so schon gemacht, jetzt aber wohl auch die anderen:

                    Hey ... das eröffnet ja völlig neue Möglichkeiten für Browserweichen!

                    Von mir aus können eh alle anderen browser dem opera weichen ;-)

                    bye
                    Steffen, der normalerweise js deaktiviert und daher auch keine Probleme damit hat