dieterblos: Javascript Berechnungen

Ein Javanovize benötigt Hilfe. Ich habe einen onClick-Zähler. Am Ende übertrage ich das Ergebnis in ein Feld, das mir im Anschluss automatisch zwei Rechenergebnisse anzeigt. Gerne möchte ich mir das Übertragen ersparen und die Rechenergebnisse nach jedem Klick sehen. Hier mein HTML-Code:

<!DOCTYPE HTML><html lang="de"><head><title>onClick</title>
<script>
var clicks = 0;function onClick() {clicks += 1;document.getElementById("clicks").innerHTML = clicks;};
function calculate ()
{var wert1 = document.getElementById('feld1').value;
var erg1 = (100 / wert1) * 2;
var erg1 = Math.round(erg1 * 100) / 100;
document.getElementById('erg1').innerHTML = erg1;
var erg2 = erg1 * 2;
var erg2 = Math.round(erg2 * 100) / 100;
document.getElementById('erg2').innerHTML = erg2;}
</script>
</head>
<body><div><form name="Rechner"><div>
<table><tr>
<td><button type="button" style="height: 20px; width: 125px;" onClick="onClick()">1 - onClick-Z&auml;hler</button>&nbsp;<a id="clicks">0</a></td>
</tr></table><br><table><tr>
<td><button type="button" style="height: 20px; width: 235px;">2 - Z&auml;hler aus 1 manuell &uuml;bertragen</button></td>
<td><input type='text' id='feld1' maxlength='2' size='1' onKeyUp='calculate()'></rd>
</tr></table><table><tr>
<td><button type="button" style="height: 20px; width: 125px;">Rechenergebnis 1</button></td>
<td><input2 type='text' onKeyUp='calculate()'><span id='erg1'></span></td>
</tr></table><table><tr>
<td><button type="button" style="height: 20px; width: 125px;">Rechenergebnis 2</button></td>
<td><input2 type='text' onKeyUp='calculate()'><span id='erg2'></span></td>
</tr></table></div></form></div></body></html>

Im voraus vielen Dank für einen Lösungsvorschlag.

  1. Servus!

    herzlich willkommen bei SELFHTML!

    Ein Javanovize benötigt Hilfe. Ich habe einen onClick-Zähler. Am Ende übertrage ich das Ergebnis in ein Feld, das mir im Anschluss automatisch zwei Rechenergebnisse anzeigt. Gerne möchte ich mir das Übertragen ersparen und die Rechenergebnisse nach jedem Klick sehen.

    Hier mein HTML-Code:

    O je! Da ist viel durcheinander!

    Ein ähnliches Beispiel findest Du hier: BMI-Index ausrechnen

    Übernimm das und ändere es nach Deinen Wünschen ab.

    Zuallerst zum HTML-Markup:

    1. Du benötigt keine Tabelle.

    2. Als Ausgabe-Element empfehle ich output anstelle von weiteren input-Elementen.

    Zum JavaScript (Java ist was ganz anderes!)

    1. Arbeite nicht mit onclick, sondern mit addEventListener wie im angegebenen Beispiel. Anstelle click könntest Du change nehmen, dann ändert es sich bei jeder Änderung.

    2. Variablen erklärst Du nur einmal mit var dann sind sie schon da.

    3. Was Deine Rechnung bringen soll, vermag ich im Augenblick nicht abzuschätzen.

    Im voraus vielen Dank für einen Lösungsvorschlag.

    Ich empfehle Dir den Kurs: Einstieg in JavaScript

    Herzliche Grüße

    Matthias Scharwies

    --
    Heute mal keine Signatur
    1. Hallo Matthias,

      vielen Dank für die schnelle Hilfe. Das viel durcheinander ist und es auch kürzer geht, war mir fast schon klar. Ich habe mich anhand von Beispielen auf das derzeitige - und für mich nachvollziehbare - Ergebnis durchgekämpft. Ich versuche nun die Vor- und Ratschläge zu verstehen sowie umzusetzen und gelobe Besserung.

      (Der Novize ist im übrigen seit 6 Jahren in Altersrente und versucht sich sinnvoll zu beschäftigen!)

      Gruß Klaus-Dieter Blos