Berechnung auf homepage

  • Hallo Zusammen,

    ich habe ein Problem mit einer Berechnung. Habe schon einiges ausprobiert, aber leider bekomme ich es nicht hin.
    Folgendes Beispiel soll berechnet werden:
    Filtersubstrat: 100 m³
    Reduzierung: 20%
    Materialsetzung: 15%
    Schüttgewicht: 1,45 to/m³
    Ergebnis sollte sein: 100 m³-20%+15%*1,45to/m³=133,4 to

    Hier der folgende Auszug:

    <html>
    <script>
    function Calc() {
    if(document.CalcForm.InputDigit1.value && document.CalcForm.InputDigit2.value) {
    var Digit1 = document.CalcForm.InputDigit1.value;
    var Digit2 = document.CalcForm.InputDigit2.value;
    var Digit3 = document.CalcForm.InputDigit3.value;
    var Digit4 = document.CalcForm.InputDigit4.value;
    var ergebnis = Digit1 * (1 + Digit3) / 100 * Digit4;
    document.OutPut.OutPutVal.value = ergebnis;
    } else {
    alert("Eingabe Falsch.");
    }
    }
    </script>
    <body>
    <form name="CalcForm" action="JavaScript:Calc(); " style="margin-bottom: 0">
    &nbsp;<p><b><font face="Arial" size="4">Umrechnung der Substratmenge [m³/to]</font></b><hr width="350" align="left">
    <p><font face="Arial" style="font-size: smaller"><u><b>Hinweis:</b> </u><br>
    Bei Dezimalzahlen bitte Punkt statt Komma verwenden!<br>
    </font><font style="font-size: smaller" face="Arial">Die Berechnung
    funktioniert nur wenn Java Script aktiviert ist.<br>
    &nbsp;</font></p>
    <table cellpadding="0" cellspacing="0" width="460" height="165">
    <!-- MSTableType="layout" -->
    <tr>
    <td>
    <table cellpadding="0" cellspacing="0" width="180" height="30">
    <!-- MSCellFormattingTableID="1" -->
    <tr>
    <td width="5">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="30" width="175">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
    <tr>
    <td valign="top" height="100%" width="100%">
    <!-- MSCellFormattingType="content" -->
    <font face="Arial">Filtersubstrat: </font> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td valign="top" height="35">
    <input type="text" name="InputDigit1" size="12">
    <font face="Arial">m³</font></td>
    </tr>
    <tr>
    <td valign="top">
    <table cellpadding="0" cellspacing="0" width="180" height="30">
    <!-- MSCellFormattingTableID="1" -->
    <tr>
    <td width="5">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="30" width="175">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
    <tr>
    <td valign="top" height="100%" width="100%">
    <!-- MSCellFormattingType="content" -->
    <font face="Arial">Schichtenreduzierung: </font> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td valign="top" height="35">
    <input type="text" name="InputDigit2" size="12"> <font face="Arial">
    %</font></td>
    </tr>
    <tr>
    <td valign="top">
    <table cellpadding="0" cellspacing="0" width="180" height="30">
    <!-- MSCellFormattingTableID="4" -->
    <tr>
    <td width="5">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="30" width="175">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
    <tr>
    <td valign="top" height="100%" width="100%">
    <!-- MSCellFormattingType="content" -->
    <font face="Arial">Materialsetzung: </font> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td valign="top" height="35">
    <input type="text" name="InputDigit3" value="15" size="12">
    <font face="Arial">%
    </font>
    </td>
    </tr>
    <tr>
    <td valign="top">
    <table cellpadding="0" cellspacing="0" width="180" height="30">
    <!-- MSCellFormattingTableID="3" -->
    <tr>
    <td width="5">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="30" width="175">
    <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
    <tr>
    <td valign="top" height="100%" width="100%">
    <!-- MSCellFormattingType="content" -->
    <font face="Arial">Schüttgewicht:&nbsp;&nbsp;
    </font> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td valign="top" height="36">
    <input type="text" name="InputDigit4" value="1.45" size="12">
    <font face="Arial">to/m³
    </font>
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td height="5" valign="top">&nbsp;</td>
    </tr>
    <tr>
    <td width="250">&nbsp;</td>
    <td valign="top" height="35" width="210">
    <input type="submit" value="Berechnen" style="float: left"></td>
    </tr>
    </table>
    </form>
    <form name="OutPut">

    <table cellpadding="0" cellspacing="0" width="460" height="21">
    <!-- MSTableType="nolayout" -->
    <tr>
    <td height="38" width="460" valign="top">
    <table cellpadding="0" cellspacing="0" width="460" height="57">
    <!-- MSTableType="layout" -->
    <tr>
    <td>
    <table cellpadding="0" cellspacing="0" width="196" height="36">
    <!-- MSCellFormattingTableID="1" -->
    <tr>
    <td width="5">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="36" width="191">
    <table cellpadding="0" cellspacing="0" border="0" width="191" height="36">
    <tr>
    <td valign="top" height="36" width="191">
    <!-- MSCellFormattingType="content" -->
    <font face="Arial">benötigte Substratmenge:</font></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td valign="top" height="38">
    <input type="text" name="OutPutVal" size="12"><font face="Arial"> to</font></td>
    </tr>
    <tr>
    <td valign="top" width="250">
    &nbsp;</td>
    <td height="19" width="210">&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table cellpadding="0" cellspacing="0" width="458" height="36">
    <!-- MSCellFormattingTableID="1" -->
    <tr>
    <td width="5">
    <p align="left">
    <img alt="" width="5" height="1" src="MsSpacer.gif"></td>
    <td height="36" width="453">
    <table cellpadding="0" cellspacing="0" border="0" width="453" height="36">
    <tr>
    <td valign="top" height="36" width="453">
    <!-- MSCellFormattingType="content" -->
    <p align="left"><small><small>
    <font face="Arial" color="#000000">Die Haftung für Ergebnisse, die mit diesem
    Programm erzielt werden,<br>
    oder daraus abgeleitete Folgerungen wird ausdrücklich ausgeschlossen!</font></small></small></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <p align="left">&nbsp;</p>
    </form>
    </body>
    </html>

    kann mir jemand helfen? Habe leider keine Ahnung davon. Vielen Dank im Voraus.

    VG Stefan

  • ...ok, bin neu hier. habs noch nicht so raus. als anhang geht die datei nicht raus.
    meiner meinung nach liegt die berechnung hier:

    <html>
    <script>
    function Calc() {
    if(document.CalcForm.InputDigit1.value && document.CalcForm.InputDigit2.value) {
    var Digit1 = document.CalcForm.InputDigit1.value;
    var Digit2 = document.CalcForm.InputDigit2.value;
    var Digit3 = document.CalcForm.InputDigit3.value;
    var Digit4 = document.CalcForm.InputDigit4.value;
    var ergebnis = Digit1 * (1 + Digit3) / 100 * Digit4;
    document.OutPut.OutPutVal.value = ergebnis;
    } else {
    alert("Eingabe Falsch.");
    }
    }


    gruß fracki

  • Hi,

    ohne es zu testen, würde ich spontan sagen, dass die Rechnung wie folgt lauten muss:

    Code
    (digit1 - ((digit1/100)*digit2)) + ((digit4/100)*digit3) * digit4

    Mir war allerdings nicht klar, auf welche Werte sich die Prozentangaben beziehen. Ich bin einfach mal davon ausgegangen, dass es 20% vom Filtersubtrat sind und 15% vom Schüttgewicht?

    Außerdem hast du keinerlei Klammern in der Rechnung (s.o) gesetzt. Hast du das nur vergessen oder war das Absicht? Ich hab die Rechnung mal in zwei Blöcke unterteilt. Links vom "+" und der zweite Block rechts davon.

    MfG

  • moin chris,
    danke für die antwort, aber leider kommt wird hier ein scriptfehler angezeigt: "digit1 ist undefiniert". hast du vielleicht eine ahnung woran das liegt?
    lg
    fracki

  • Hi,

    soweit ich weiß, ist JavaScript case-sensitive, d.h. es wird zwischen Klein -und Großschreibung unterschieden. "Digit1" ist also nicht das Gleiche wie "digit1". Deswegen vermutlich auch der Fehler ;)

    Sry, hatte das nicht beachtet, dass du mit einem Großbuchstaben beginnst, als ich aus dem Kopf schnell die Rechnung getippt habe ;)

    MfG :)

  • guten morgen chris,

    es klappt. vielen dank für deine mühe. es lag tatsächlich an der groß-kleinschreibung.
    werde das forum jedenfalls empfehlen!
    nochmals besten dank.
    gruß fracki