# Rechner erstellen



## Creed43 (6. Apr 2021)

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)


----------



## 123neu (6. Apr 2021)

In welcher Form sollte die Ausgabe denn sein?


```
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 *.


----------



## Creed43 (6. Apr 2021)

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 (6. Apr 2021)

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.


----------



## Creed43 (6. Apr 2021)

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


----------



## mihe7 (6. Apr 2021)

Irgendsowas in der Art:


```
<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>
```


----------



## Creed43 (7. Apr 2021)

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


----------



## Creed43 (7. Apr 2021)

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?


----------



## mihe7 (7. Apr 2021)

Was meinst Du damit? Hast Du ein Beispiel?


----------



## Creed43 (7. Apr 2021)

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!


----------



## Creed43 (12. Apr 2021)

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


----------



## mihe7 (13. Apr 2021)

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?


----------



## Creed43 (13. Apr 2021)

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?


----------



## 123neu (13. Apr 2021)

Wäre dafür JavaScript nicht passender?


----------



## Creed43 (13. Apr 2021)

123neu hat gesagt.:


> Wäre dafür JavaScript nicht passender?


Ich bin für alles offen! Ich wäre echt dankbar für Eure Hilfe.


----------



## Creed43 (13. Apr 2021)

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 (13. Apr 2021)

Creed43 hat gesagt.:


> 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.


----------



## Creed43 (13. Apr 2021)

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.


----------



## Creed43 (13. Apr 2021)

Hab die Änderung des placeholders so versucht:

```
<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

```
<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?


----------



## mihe7 (13. Apr 2021)

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:

```
<input id="meineEindeutigeId" class="user-input" placeholder="Gib was ein" />
```
(die id ist hier irrelevant, ich hab sie nur als Beispiel drin gelassen)


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


----------



## Creed43 (13. Apr 2021)

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


----------



## mihe7 (13. Apr 2021)

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


----------



## Creed43 (13. Apr 2021)

Kannst Du mir vielleicht noch sagen, wo ich das bei Deinem Code eingebe? Bitte🙏


----------



## mihe7 (13. Apr 2021)

mihe7 hat gesagt.:


> out.innerText = result;


Wird z. B. zu

```
out.innerText = Math.round(result);
```


----------



## Creed43 (13. Apr 2021)

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? 

```
<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>
```


----------



## Creed43 (13. Apr 2021)

Sorry, war der falsche...


```
<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>
```


----------



## mihe7 (13. Apr 2021)

Leerzeichen in IDs raus!


----------



## Creed43 (13. Apr 2021)

```
<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>
```


----------



## Creed43 (13. Apr 2021)

Klappt dennoch nicht.  Sind fixer Wert, Input, Result und out auch zu definieren?


----------



## mihe7 (13. Apr 2021)

Mach mal bitte den Punkt noch raus.


----------



## Creed43 (13. Apr 2021)

Hab ich schon. Hab auch die Einträge umgeändert, damit die Umlaute weg sind. Sieh mal...

```
<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>
```


----------



## Creed43 (13. Apr 2021)

Sind Input 1 und 2, sowie die Fixerwerte auch gesondert zu betrachten? (= eigene ID)


----------



## mihe7 (13. Apr 2021)

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


----------



## Creed43 (13. Apr 2021)

😂Ok. Danke. Mach ich mal


----------



## Creed43 (13. Apr 2021)

```
<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>
```


----------



## Creed43 (13. Apr 2021)

Bei 2 mal geändert, 1. geht, 2. leider nicht.


----------



## mihe7 (13. Apr 2021)

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.


----------



## Creed43 (13. Apr 2021)

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


----------



## Creed43 (14. Apr 2021)

```
<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>
```


----------



## Creed43 (14. Apr 2021)

Verzweifel jetzt langsam. Wo liegt mein Fehler?


----------



## Creed43 (14. Apr 2021)

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


----------



## Creed43 (14. Apr 2021)

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


```
<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>
```


----------



## Creed43 (14. Apr 2021)

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

LG


----------



## mihe7 (14. Apr 2021)

Ist das immer das gleiche Formular?


----------



## Creed43 (15. Apr 2021)

Hi. Ja, nur die Paramter (fixer Wert) sind unterschiedlich.. Mittlerweile fertig. Vielen Dank.

Tauchpumpe zur Miete gefunden - AMG Miete GmbH


----------



## Creed43 (19. Apr 2021)

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 (19. Apr 2021)

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).


----------



## Creed43 (28. Apr 2021)

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 (28. Apr 2021)

Creed43 hat gesagt.:


> 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).



Creed43 hat gesagt.:


> 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)


----------



## Creed43 (28. Apr 2021)

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


```
<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>
```


----------



## mihe7 (28. Apr 2021)

Creed43 hat gesagt.:


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


Was erwartest Du, dass passiert? (Hab grad keine Lust, den Spaß nachzubauen )


----------



## Creed43 (28. Apr 2021)

Naja. Wie oben beschrieben.
Um ehrlich zu sein, komm ich mit dem innerText und dem anderen nicht wirklich zu recht.
Ich wäre Dir unendlich dankbar, könntest Du mir da helfen...das wäre mein letzter Baustein....  🙏


----------



## mihe7 (28. Apr 2021)

Ich verstehe gerade das Problem nicht. Was funktioniert denn nicht so, wie Du es gerne hättest? 

Was innerText & Co. betrifft: Du weist einfach einen Wert (Zeichenkette) zu, mehr ist das nicht  Wenn Du das mehrfach hintereinander machst, wird die Ausgabe einfach überschrieben (z. B. Zeile 102 überschreibt die Ausgabe von Zeile 101).

Wenn Du als Ausgabe <h2>Huhu</h2>23,5 A haben willst, dann schreibst Du genau das in innerHTML (und nur dort): 

```
document.getElementById("AusgabePS").innerHTML='<h2>Huhu</h2>' + Math.round(result) + ' A';
```


----------



## Gelöschtes Mitglied 65838 (28. Apr 2021)

unaghängig vom programm :-> blau und weis zu mischen ist keine barriere freie Anzeige = Probleme können auftauchen


----------



## Creed43 (29. Apr 2021)

mihe7 hat gesagt.:


> Ich verstehe gerade das Problem nicht. Was funktioniert denn nicht so, wie Du es gerne hättest?
> 
> Was innerText & Co. betrifft: Du weist einfach einen Wert (Zeichenkette) zu, mehr ist das nicht  Wenn Du das mehrfach hintereinander machst, wird die Ausgabe einfach überschrieben (z. B. Zeile 102 überschreibt die Ausgabe von Zeile 101).
> 
> ...


Danke. Ich seh mir das mal an und hoffe, ich check das ;-)


----------



## Creed43 (29. Apr 2021)

Joreyk hat gesagt.:


> unaghängig vom programm :-> blau und weis zu mischen ist keine barriere freie Anzeige = Probleme können auftauchen


Ich versteh das obere ja grad halbwegs. DAS .....naja. Lass mich gerne aufklären ;-).


----------



## Gelöschtes Mitglied 65838 (29. Apr 2021)

Creed43 hat gesagt.:


> Ich versteh das obere ja grad halbwegs. DAS .....naja. Lass mich gerne aufklären ;-).


Blau muss in einem Hohen Kontrast benutzt werden ansonsten ist die Seite nicht barriere frei
zb du hast nen blauen kasten und da steht was weißes drin dann ist das für einen menschen mit seh schwäche einfach nur ein blauer kasten 

und du musst die Seite für diese Leute auch benutzbar machen


----------



## Creed43 (29. Apr 2021)

Creed43 hat gesagt.:


> Danke. Ich seh mir das mal an und hoffe, ich check das ;-)





mihe7 hat gesagt.:


> Ich verstehe gerade das Problem nicht. Was funktioniert denn nicht so, wie Du es gerne hättest?
> 
> Was innerText & Co. betrifft: Du weist einfach einen Wert (Zeichenkette) zu, mehr ist das nicht  Wenn Du das mehrfach hintereinander machst, wird die Ausgabe einfach überschrieben (z. B. Zeile 102 überschreibt die Ausgabe von Zeile 101).
> 
> ...


Hi.

Gerade probiert.
Ich gebe den Wert (zb 23) bei Ampere ein, drücke berechnen und es kommt nirgendwo ein Ergebnis. DAS ist mein eigentliches Problem.


----------



## Creed43 (29. Apr 2021)

Stromangaben berechnen - AMG Miete GmbH


----------

