Rechner erstellen

C

Creed43

Mitglied
Hallo.

Ich habe ein Problem. Ich soll ein "Berechnungsprogramm" erstellen und in die Website einbinden. In Excel klappt das perfekt. Schaut aber in der Website nicht gut aus. Mein Gedanke war, das mit Java zu machen. Ich hab in den letzten 1,5 Wochen versucht, mich einzulesen - ist aber deutlich zu umfangreich, um das machen zu können.
Könnte mir dabei vielleicht jemand helfen?

Ich habe mir überlegt, ein Formular mit Adobe zu machen und die entprechende Funktion dort auszuführen. Nur bräuchte ich wirklich Hilfe mit dem Code.

Meine Formel in Excel hab ich angefügt.

Vielen Dank schon mal vorab.

Danke, Thomas

Ergebnis = fixerWert1-((fixer Wert2/fixerWert3)*Eingabe1)-(((FixerWert4/20)/100)*Eingabe2+(fixerWert1/fixerWert2)*Eingabe1)
 
1

123neu

Bekanntes Mitglied
In welcher Form sollte die Ausgabe denn sein?

Java:
    public static double[] getCalculated(double[][] daa) {
        ArrayList<Double> list = new ArrayList<>(daa.length);
        for (double[] da : daa) {
            double fixerWert1 = 1.0;
            double fixerWert2 = 2.0;
            double fixerWert3 = 3.0;
            double fixerWert4 = 4.0;
            double eingabe1 = da[0];
            double eingabe2 = da[1];
            double r = fixerWert1 - ((fixerWert2 / fixerWert3) * eingabe1) - (((fixerWert4 / 20) / 100) * eingabe2 + (fixerWert1 / fixerWert2) * eingabe1);
            list.add(r);
        }
        return list.stream().mapToDouble(d -> d).toArray();
    }

    public static void main(String[] args) {
        double[][] eingaben = { { 5, 6 }, { 7, 6 } };
        System.out.println(java.util.Arrays.toString(getCalculated(eingaben)));
    }

bitte beachte, dass java Punkt vor Strich rechnet, / hat jedoch die gleiche prio wie *.
 
C

Creed43

Mitglied
Perfekt! Vielen, vielen Dank.
Mit dem Adobe Reader kann man Berechnungsfelder einplanen, bzw. vergeben.
Das heisst, ich werde ein Formular machen mit eben zwei Eingabefeldern und dem Ergebnis.
Dieses Ergebnisfeld kann im Anschluss mit Java definiert werden.

Werde es etwas später versuchen (bin gerade in einem anderen Thema) und mich dann melden!
Vielen Dank jedenfalls vorab schon!!!

LG
Thomas
 
mihe7

mihe7

Top Contributor
Ich sehe hier nicht, wofür Du ein serverseitiges Programm bräuchtest. Das sollte sich problemlos direkt in JavaScript lösen lassen, das dann gleich im Browser läuft.
 
C

Creed43

Mitglied
Das klingt gut. Dass muss ich aber dann optisch auch aufbereiten. Ist aber ein gute Idee. Ich werde das mal versuchen....
Danke
 
mihe7

mihe7

Top Contributor
Irgendsowas in der Art:

HTML:
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
  <fieldset>
    <legend>Name</legend>

    <label for="eingabe1">
      Eingabe 1: <input id="eingabe1" placeholder="Eingabe #1">
    </label>

    <label for="eingabe2">
      Eingabe 2: <input id="eingabe2" placeholder="Eingabe #2">
    </label>

  </fieldset>

  <button id="calc">Berechnen</button>

  <fieldset>
    <legend>Ergebnis</legend>

    <div id="ausgabe">noch nix</div>
  </fieldset>

  <script>
    const fixerWert1 = 100;
    const fixerWert2 =  50;
    const fixerWert3 = 120;
    const fixerWert4 =  80;

    const calcButton = document.getElementById("calc");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("eingabe1").value;
        const input2 = document.getElementById("eingabe2").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 + 
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("ausgabe");
        out.innerText = result;
    });
  </script>

</body>
</html>
 
C

Creed43

Mitglied
Hallo!
Vielen Dank. Das ist perfekt. Ich muss nur noch alles in die geünschte Form bringen, aber das ist GENAU das!
 
C

Creed43

Mitglied
Da bin ich wieder. Klappt perfekt. Danke.
Gerade hab ich jedoch bemerkt, wenn ich mehrere Eingaben untereinabder setzen möchte, dann klappt die Berechnug immer nur beim ersten Mal. Bei allen weiteren nicht. Gibt es einen Grund dafür und wie kann ich das umgehen?
 
C

Creed43

Mitglied
Ja klar. Ich werde das heute noch machen und Dir den Link senden. Dann siehst Du, was ich meine.
Vielen Dank für Deine Hilfe!
 
C

Creed43

Mitglied
Hallo.
Sorry für die lange Wartezeit.
Ich hab das in der Website mal versucht darzustellen, wie es dann aussehen soll.
Diese Ansicht sollte jedoch auf dieser Seite 6 mal so funktionieren. Wenn ich das Skript jedoch ein zweites Mal eingebe, klappt es nicht mehr...

Danke & lG,
Thomas

berechnung pumpleistung.png
 
mihe7

mihe7

Top Contributor
Ja, das ist klar. Die ID der Elemente ist eindeutig im Dokument. Du könntest also dafür sorgen, dass die IDs eindeutig werden und das Skript entsprechend anpassen (theoretisch wären hier Web-Components mit Shadow Roots prädesteniert für die Aufgabe). Woher kommen denn die Daten bzw. kommt denn das HTML für die Pumpen?
 
C

Creed43

Mitglied
Naja. Um ehrlich zu sein habe ich die Seite mit Jimdo erstellt mit ein paar HTML Codes zusammengesucht und so ein wenig gelernt, aber der Riesenchecker bin ich nicht. Denkst Du könntest mir helfen?
 
C

Creed43

Mitglied
Also. Ich hätte soweit echt alles zusammen. Einzn ein Problem habe ich noch.
Wenn ich eben den obigen Code mehrmals auf der selben Seite eingebe, funktioniert nur der Erste. Könntet Ihr mir helfen - wie kann ich das ändern und wieso ist das so?

Muss ich die ID´s anders vergeben?
 
mihe7

mihe7

Top Contributor
Könntet Ihr mir helfen - wie kann ich das ändern und wieso ist das so?

Muss ich die ID´s anders vergeben?
Ja, s. #12. Der Code greift per ID auf die Elemente zu - dem entsprechend muss jedes Element eine ID besitzen und eine ID muss eindeutig im Dokument sein. Du kannst ja jeder ID z. B. pumpe1 für die erste Pumpe, pumpe2 für die zweite usw. voranstellen.
 
C

Creed43

Mitglied
Sehr cool. Danke.
Zwei Fragen noch.
1. Ich wollte das Ergegnis ohne Dezimalstellen definieren. Hab das mit .tofixed(0) probiert, aber es klappt nicht.
2. Wollte den Placeholder mittig haben und hab das über Style probiert - aber auch das geht nicht.
 
C

Creed43

Mitglied
Hab die Änderung des placeholders so versucht:
HTML:
<style>
         input[id="gewünschte Pumphöhe"]::placeholder {
               
                /* Firefox, Chrome, Opera */
             text-align: 'center';
            }
         input[id="gewünschte Pumphöhe"]:-ms-input-placeholder {
               
                /* Edge */
             text-align: 'center';
            }
    </style>

Oder kann ich das direkt in der Befehlszeile
HTML:
<label for="gewünschte Pumphöhe">gewünschte Pumphöhe in Meter: <input id="gewünschte Pumphöhe" placeholder="Ihre Eingabe" style="width:100px;" style="float:right;" /></label>
auch eingeben?
 
Zuletzt bearbeitet von einem Moderator:
mihe7

mihe7

Top Contributor
Die IDs sind falsch, mach was ohne Leerzeichen und am besten auch ohne Umlaute. Nächster Punkt: wenn Du Elemente mit IDs hast, brauchst Du den Tag im CSS nicht. Außerdem kannst Du auch mit CSS-Klassen arbeiten. Probier mal etwas wie:
HTML:
<input id="meineEindeutigeId" class="user-input" placeholder="Gib was ein" />
(die id ist hier irrelevant, ich hab sie nur als Beispiel drin gelassen)

CSS:
input.user-input::placeholder {
    text-align: center;
}
 
C

Creed43

Mitglied
Schon geschafft. Zuerst denken, dann schreiben.
Bleibt noch die Dezimalstelle...an der häng ich echt :-(
 
mihe7

mihe7

Top Contributor
Abrunden: Math.floor(variable), Aufrunden: Math.ceil(variable), Ab-/Aufrunden: Math.round(variable)
 
C

Creed43

Mitglied
Perfekt danke.
Hab versucht, die Zuordnung zu machen, was aber nicht ganz klappen will. Wo liegt mein Fehler? Sind die fixen Werte auch als ELement zu sehen?
HTML:
<fieldset>
    <label for="50018gewünschte Pumphöhe">gewünschte Pumphöhe in Meter: <input id="50018gewünschte Pumphöhe" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="50018gewünschte Pumplänge">gewünschte Pumplänge in Meter: <input id="50018gewünschte Pumplänge" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="50018calc" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Ihre Berechnung ergibt</legend>
    <div id="50018ausgabe" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 1000;
    const fixerWert2 = 1000;
    const fixerWert3 =  18;
    const fixerWert4 =   5;

    const calcButton = document.getElementById("50018calc");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("50018gewünschte Pumphöhe").value;
        const input2 = document.getElementById("50018gewünschte Pumplänge").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("50018ausgabe");
        out.innerText = result + ' Liter';
    });
/*]]>*/
</script>
 
C

Creed43

Mitglied
Sorry, war der falsche...

HTML:
<fieldset>
    <label for="50007.gewünschte Pumphöhe">gewünschte Pumphöhe in Meter: <input id="50007.gewünschte Pumphöhe" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="50007.gewünschte Pumplänge">gewünschte Pumplänge in Meter: <input id="50007.gewünschte Pumplänge" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="50007.calc" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Die Berechnung ergibt</legend>
    <div id="50007.ausgabe" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 1000;
    const fixerWert2 = 1000;
    const fixerWert3 =  18;
    const fixerWert4 =   5;

    const calcButton = document.getElementById("50007.calc");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("50007.gewünschte Pumphöhe").value;
        const input2 = document.getElementById("50007.gewünschte Pumplänge").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("50007.ausgabe");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
Zuletzt bearbeitet von einem Moderator:
C

Creed43

Mitglied
HTML:
<fieldset>
    <label for="50018.gewünschtePumphöhe">gewünschte Pumphöhe in Meter: <input id="50018.gewünschtePumphöhe" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="50018.gewünschtePumplänge">gewünschte Pumplänge in Meter: <input id="50018.gewünschtePumplänge" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="50018.calc" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Ihre Berechnung ergibt</legend>
    <div id="50018.ausgabe" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 1000;
    const fixerWert2 = 1000;
    const fixerWert3 =  18;
    const fixerWert4 =   5;

    const calcButton = document.getElementById("50018.calc");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("50018.gewünschtePumphöhe").value;
        const input2 = document.getElementById("50018.gewünschtePumplänge").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("50018.ausgabe");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
Zuletzt bearbeitet von einem Moderator:
C

Creed43

Mitglied
Hab ich schon. Hab auch die Einträge umgeändert, damit die Umlaute weg sind. Sieh mal...
HTML:
<fieldset>
    <label for="50030maxheight">gewünschte Pumphöhe in Meter: <input id="50030maxheight" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>
<fieldset>
    <label for="50030maxlength">gewünschte Pumplänge in Meter: <input id="50030maxlength" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="50030calc" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Ihre Berechnung ergibt</legend>
    <div id="50030ausgabe" style="float:right;">
        0 Liter
    </div>
</fieldset>

<script>
/* <![CDATA[ */
    const fixerWert1 = 1000;
    const fixerWert2 = 1000;
    const fixerWert3 =  18;
    const fixerWert4 =   5;

    const calcButton = document.getElementById("50030calc");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("50030maxheight").value;
        const input2 = document.getElementById("50030maxlength").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("50030ausgabe");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
Zuletzt bearbeitet von einem Moderator:
mihe7

mihe7

Top Contributor
Ach, und beginn bitte mit einem Buchstaben :) Jetzt sollten wir bald alle Regeln für Bezeichner durch haben :)
 
C

Creed43

Mitglied
HTML:
<fieldset>
    <label for="maxheight50007">gewünschte Pumphöhe in Meter: <input id="maxheight50007" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="maxlength50007">gewünschte Pumplänge in Meter: <input id="maxlength50007" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="calc50007" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Die Berechnung ergibt</legend>
    <div id="ausgabe50007" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 270;
    const fixerWert2 = 270;
    const fixerWert3 =  12;
    const fixerWert4 =   2;

    const calcButton = document.getElementById("calc50007");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("maxheight50007").value;
        const input2 = document.getElementById("maxlength50007").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("ausgabe50007");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>

<fieldset>
    <label for="maxheight50018">gewünschte Pumphöhe in Meter: <input id="maxheight50018" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="maxlength50018">gewünschte Pumplänge in Meter: <input id="maxlength50018" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="calc50018" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Ihre Berechnung ergibt</legend>
    <div id="ausgabe50018" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 1000;
    const fixerWert2 = 1000;
    const fixerWert3 =  18;
    const fixerWert4 =   5;

    const calcButton = document.getElementById("calc50018");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("maxheight50018").value;
        const input2 = document.getElementById("maxlength50018").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("ausgabe50018");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
Zuletzt bearbeitet von einem Moderator:
mihe7

mihe7

Top Contributor
Sorry, bin in der Arbeit und habe ganz übersehen, dass da unten noch ein zweiter Teil kommt... Da musst Du natürlich die Variablen (also fixerWertX und calcButton) auch anpassen, dass der Name im gesamten Dokument eindeutig ist. Sorry.
 
C

Creed43

Mitglied
Cool. Kein Thema. Danke. Hab vorhin auch übersehen, den Namen eindeutiger zu machen...
 
C

Creed43

Mitglied
Java:
<fieldset>
    <label for="50030maxheight">gewünschte Pumphöhe in Meter: <input id="50030maxheight" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>
<fieldset>
    <label for="50030maxlength">gewünschte Pumplänge in Meter: <input id="50030maxlength" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="50030calc" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Ihre Berechnung ergibt</legend>
    <div id="50030ausgabe" style="float:right;">
        0 Liter
    </div>
</fieldset>

<script>
/* <![CDATA[ */
    const 50030fixerWert1 = 1000;
    const 50030fixerWert2 = 1000;
    const 50030fixerWert3 =  18;
    const 50030fixerWert4 =   5;

    const 50030calcButton = document.getElementById("50030calc");
    50030calcButton.addEventListener("click", function() {
        const 50030input1 = document.getElementById("50030maxheight").value;
        const 50030input2 = document.getElementById("50030maxlength").value;

        const 50030result = 50030fixerWert1 - ((50030fixerWert2 / 50030fixerWert3) * 50030input1) -
                       ( ((50030fixerWert4 / 20) / 100) * 50030input2 +
                         (50030fixerWert1 / 50030fixerWert2) * 50030input1 );

        const out = document.getElementById("50030ausgabe");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
C

Creed43

Mitglied
Glaub ich habs. Hatte die falsche Vorlage verwendet und wieder mit einer Zahl begonnen...
 
C

Creed43

Mitglied
Ich werd langsam wahnsinnig. Kurz hat es geklappt. Aber nun geht es wieder nicht. WAS mache ich falsch...

Java:
<fieldset>
    <label for="maxheight50007">gewünschte Pumphöhe in Meter: <input id="maxheight50007" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="maxlength50007">gewünschte Pumplänge in Meter: <input id="maxlength50007" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="calc50007" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Die Berechnung ergibt</legend>
    <div id="ausgabe50007" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert1 = 270;
    const fixerWert2 = 270;
    const fixerWert3 =  12;
    const fixerWert4 =   2;

    const calcButton = document.getElementById("calc50007");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("maxheight50007").value;
        const input2 = document.getElementById("maxlength50007").value;

        const result = fixerWert1 - ((fixerWert2 / fixerWert3) * input1) -
                       ( ((fixerWert4 / 20) / 100) * input2 +
                         (fixerWert1 / fixerWert2) * input1 );

        const out = document.getElementById("ausgabe50007");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>

<fieldset>
    <label for="maxheight50018">gewünschte Pumphöhe in Meter: <input id="maxheight50018" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <label for="maxlength50018">gewünschte Pumplänge in Meter: <input id="maxlength50018" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
</fieldset>

<fieldset>
    <button id="calc50018" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<fieldset>
    <legend style="float:left;">Die Berechnung ergibt</legend>
    <div id="ausgabe50018" style="float:right;">
        0 Liter
    </div>
</fieldset>
<script>
/* <![CDATA[ */
    const fixerWert500181 = 720;
    const fixerWert500182 = 720;
    const fixerWert500183 =  15;
    const fixerWert500184 =   2;

    const calcButton = document.getElementById("calc50018");
    calcButton.addEventListener("click", function() {
        const input1 = document.getElementById("maxheight50018").value;
        const input2 = document.getElementById("maxlength50018").value;

        const result = fixerWert500181 - ((fixerWert500182 / fixerWert500183) * input1) -
                       ( ((fixerWert500184 / 20) / 100) * input2 +
                         (fixerWert500181 / fixerWert500182) * input1 );

        const out = document.getElementById("ausgabe50018");
        out.innerText = Math.round(result) + '  Liter';
    });
/*]]>*/
</script>
 
C

Creed43

Mitglied
Wieder an der eigenen Dummheit gescheitert. Nun ist alles perfekt.
Vielen vielen Dank für Deine Hilfe!!!!

LG
 
C

Creed43

Mitglied
Hi.

Darf ich Dich nochmal belästigen.
In erweiterter Variante soll ich nun Strom umrechnen. Ich hab Dir einen Link angefügt, wie das ganze ungefähr aussehen soll (bastel selber grad an den Grundeingaben, aber das mit den Ausgaben verstehe ich nicht). Das Aussehen bekomm ich vermutlich nun eh hin. Hauptsächlich geht es mir darum, dass das Ziel sein sollte, rechts das Ergebnis (Umrechnung) für irgendeine Eingabe links angezeigt werden soll, sprich

Eingabe Ampere => Ausgabe in KW, KVA und PS
Eingabe KW => Ausgabe in Ampere, KVA und PS

Berechnung Strom - AMG Miete GmbH

Geht das und könntest Du mir wieder helfen?

Vielen Dank!
 
mihe7

mihe7

Top Contributor
Die Ausgabe funktioniert einfach so, dass hier ein div genommen und dessen "Inhalt" ersetzt wird. Mit .innerText wird nur Text gesetzt, mit .innerHTML kann komplexes HTML ausgegeben werden.

Du kannst das auch in den Entwicklungstools des Browsers direkt auf Deiner Seite ausprobieren. Entwicklungstools mit F12 öffnen und dort in der Konsole Befehle eintippen, z. B. document.getElementById("ausgabe50018").innerHTML='<h2>Huhu</h2>'; (auf der Pumpenseite)

Jetzt musst Du Dir nur noch was überlegen, wie Du damit umgehst, dass Du verschiedene Eingaben haben kannst. Was passiert z. B., wenn ich erst Ampere, dann KW eingebe und anschließend auf "Berechnen" drücke? Man könnte einfach mit dem ersten belegten Feld rechnen. Oder man könnte bei Änderung eines Feldes die anderen Felder leeren. Oder man wählt eine andere Darstellung, so dass so etwas erst gar nicht auftreten kann (Radiobuttons für Ampere, KW, KVA und PS und ein Eingabefeld).
 
C

Creed43

Mitglied
Hallo Mihe,

verzeih bitte die späte Antwort. Mein Chef überhäuft mich gerade mit Dingen, die ich zu erledigen habe. Habe in der Zwischenzeit einen Rechner gemacht mit der Berechnung für Heizbedarf

Wärmebedarf berechnen - AMG Miete GmbH

Beim anderen möchte ich heute weitermachen und hänge aber nach wie vor.
Das mit dem .innerText habe ich versucht, hat aber nicht geklappt. Vielleicht falscher Browser.
Zu Deiner anderen Frage - ich hätte gerne, dass sich die Felder leeren, sobald ich eine neue Eingabe tätige und "berechnen" drücke

Vielen Dank und beste Grüße
 
mihe7

mihe7

Top Contributor
Vielleicht falscher Browser.
Dann müsstest Du aber mit einem uralt-Browser untewegs sein (s. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText).

Zu Deiner anderen Frage - ich hätte gerne, dass sich die Felder leeren, sobald ich eine neue Eingabe tätige und "berechnen" drücke
Das kannst Du über das value-Attribut des input-Elements festlegen: document.getElementById("idDesEingabefelds").value = ""; oder aber Du packst die Elemente in ein form-Element und verwendest dessen reset()-Methode (s. https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset)
 
C

Creed43

Mitglied
Hi. Hab gerade folgendes versucht...aber ich bin zu dämlich, oder häng irgendwie...

Java:
<fieldset>
    <table>
        <tr>
            <td>
                <label for="Ampere">Ampere : <input id="Ampere" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
            </td>
            <td>
            </td>
            <td>
                <legend style="float:left;">Die Berechnung ergibt &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</legend>
                <div id="AusgabeAmpere" style="float:right;">
                    0 A
                </div>
            </td>
        </tr>

        <tr>
            <td>
                <label for="Kilowatt">KW : <input id="Kilowatt" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
            </td>
            <td>
            </td>
            <td>
                <legend style="float:left;">Die Berechnung ergibt &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</legend>
                <div id="AusagabeKilowatt" style="float:right;">
                    0 KW
                </div>
            </td>
        </tr>

        <tr>
            <td>
                <label for="KVA">KVA : <input id="KVA" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
            </td>
            <td>
            </td>
            <td>
                <legend style="float:left;">Die Berechnung ergibt &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</legend>
                <div id="AusagabeKVA" style="float:right;">
                    0 KVA
                </div>
            </td>
        </tr>

        <tr>
            <td>
                <label for="PS">PS : <input id="PS" placeholder="Ihre Eingabe" style="width:100px; float:right;" /></label>
            </td>
            <td>
            </td>
            <td>
                <legend style="float:left;">Die Berechnung ergibt &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</legend>
                <div id="AusagabePS" style="float:right;">
                    0 PS
                </div>
            </td>
        </tr>
    </table>
</fieldset>

<fieldset>
    <button id="Berechnung" style="width:107px; float:right;">Berechnen</button>
</fieldset>

<script>
/* <![CDATA[ */
    
        const BerechnungAlles = document.getElementById("Berechnung");
        BerechnungAlles.addEventListener("click", function() {
        const input1 = document.getElementById("Ampere").value;
        const input2 = document.getElementById("Kilowatt").value;
        const input3 = document.getElementById("KVA").value;
        const input4 = document.getElementById("PS").value;

        const resultAmpere1 = input1 * 0;
        const resultAmpere2 = (input1 / 1.44) * 0.8;
        const resultAmpere3 = input1 * 0.8;
        const resultAmpere4 = ((input1 / 1.44) * 0.8) * 1.36;

        const resultKilowatt1 = (input2 / 0.8) * 1.44;
        const resultKilowatt2 = input2 * 0;
        const resultKilowatt3 = input2 / 0.8;
        const resultKilowatt4 = inout2 * 1.36;

        const resultKVA1 = input3 * 1.44;
        const resultKVA2 = input3 * 0.8;
        const resultKVA3 = input3 * 0;
        const resultKVA4 = (input3 * 0.8) * 1.36;

        const resultPS1 = ((input4 / 1.44) * 0.8) *1.36;
        const resultPS2 = input4 / 1.36;
        const resultPS3 = (input4 / 1.36) /0.8;
        const resultPS4 = input4 *0;

        const outAmpere = document.getElementById("AusgabeAmpere").innerHTML='<h2>Huhu</h2>';
        outAmpere.innerText = Math.round(result) + '  A';
        const outKilowatt = document.getElementById("AusagabeKilowatt").innerHTML='<h2>Huhu</h2>';
        outKilowatt.innerText = Math.round(result) + '  A';
        const outKVA = document.getElementById("AusgabeKVA").innerHTML='<h2>Huhu</h2>';
        outKVA.innerText = Math.round(result) + '  A';
        const outPS = document.getElementById("AusgabePS").innerHTML='<h2>Huhu</h2>';
        outPS.innerText = Math.round(result) + '  A';
    });
/*]]>*/
</script>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Ohm Rechner in JavaScript aber was bedeutet Power? Angular, React, JQuery - Fragen zu JavaScript 103
D BMI Rechner mit fehler Angular, React, JQuery - Fragen zu JavaScript 3
G Hilfe - Javascript geht auf meinem Rechner nicht. Angular, React, JQuery - Fragen zu JavaScript 2
d.lumpi in javascript input erstellen Angular, React, JQuery - Fragen zu JavaScript 4
Martob282 Belegnummerierungsstempel mit JavaScript erstellen Angular, React, JQuery - Fragen zu JavaScript 26
N Überprüfungsbutton für ein Eingabeformular erstellen Angular, React, JQuery - Fragen zu JavaScript 16
B PullDown erstellen für webseite? Angular, React, JQuery - Fragen zu JavaScript 12
krgewb Datei lesen und Datei erstellen Angular, React, JQuery - Fragen zu JavaScript 3
S Live-Statistik erstellen Angular, React, JQuery - Fragen zu JavaScript 4
F Druckversion erstellen / Ergebnisse in neuem Fenster Angular, React, JQuery - Fragen zu JavaScript 2
I Prozentbalken erstellen Angular, React, JQuery - Fragen zu JavaScript 11
S Mit Java oder mit JavaScript Spiele erstellen Angular, React, JQuery - Fragen zu JavaScript 15
D Wie JavaScript Projekt in Eclipse erstellen? Angular, React, JQuery - Fragen zu JavaScript 3
S Hochzeitspuzzle erstellen? Angular, React, JQuery - Fragen zu JavaScript 2
F feld erstellen Angular, React, JQuery - Fragen zu JavaScript 14

Ähnliche Java Themen

Anzeige

Neue Themen


Oben