• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Mehrere Berechnungen innerhalb eines Java scripts

hanibalsmith

New member
Hallo liebe Community,

ich bin zurzeit beim basteln eines kleinen Tools und würde hilfe benötigen.

Ich sags gleich ich habe noch nicht viel mit Javascript gemacht bin aber willig mich einzulesen.

so nun zu meiner Frage:

Ich möchte innerhalb eines Javascriptes mehrer Berechnungen (multiplikationen) machen und die Ergebnisse dieser Berechnungen dann als Ergebnis ausgeben

Heißt konkret würde ich es gerne so aussehen lassen:

Feld 1 * Feld 2 * Feld 3 * Feld 4 (wobei Feld 4 ein ergebnis von Feld 1a * Feld 2a * Feld3a ist)

Ich möchte jetzt kein fertiges Script haben sondern gerne eine Erklärung wie man sowas über JS realisieren kann damit ich das ganze auch verstehe :) (um das gehts mir Hauptsächlich)

Ich bin soweit das ich Feld 1 * Feld 2 * Feld 3 multiplizieren kann und ich auch das richtige ergebnis bekomme. (Feld 1 wäre in diesem Fall ein Dropdown menü wo der User Namen sieht im Hintergrund mittels "value" steckt eine Zahlt - Feld 2 und Feld 3 sind eingabefelder)

Danke schonmal im Vorfeld für eure Antworten/Anteilnahme!

lg
Patrick
 
Zuletzt bearbeitet von einem Moderator:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 
<head> 
<meta http-equiv="Content-Language" content="de-ch"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 

<title>Berechnen</title> 

<script language="JavaScript"> 
<!-- 
function Rechnen(){ 
 a = document.Berechnen.Feld1.value; 
 b = document.Berechnen.Feld2.value; 
 c = document.Berechnen.Feld3.value;
 y = a*b*c; 
 z = y; 
 document.Berechnen.Gesamt.value = z;

} 
 
// --> 
</script> 
 
</head> 
 
<body> 
 
<form method="POST" action="" name="Berechnen"> 
<div align="center">Feld1
    <select name="Feld1" size="1">
      <option value="1.25">Option 1</option>
      <option value="1.60">Option 2</option>
    </select>
    <br /> <br />


  </select><br /> <br />
Feldx
<select name="Feldx" size="1">
  <option value="">""</option>
</select>
<br /> <br />
Feld 2 <input type="text" name="Feld2" /> <br /> <br />
	

Feld3 <input type="number" select name="Feld3">

<td>Gesamt <input type="text" name="Gesamt" size="10" onclick="Rechnen()"></td>

  </div>
		<tr> 
			<td align="right"><input type="button" value="Berechnen" onclick="Rechnen()"></td> 
			<td align="right"><input type="reset" value="Löschen"></td> 
			<td> </td> 
		</tr> 
	</table> 
	</div> 

</form> 
 
</body> 
 
</html>

jetzt würde ich eben gerne eine weitere Rechnung einfügen Feld1a*Feld1b*Feld1c und das Ergebnis mit dem Ergebnis von Feld 3 Multiplizieren
 
Zuletzt bearbeitet von einem Moderator:
Du weißt doch eigentlich schon, wie das geht...

Erstelle die Felder im HTML und schreibe den Code äquivalent zu der anderen Berechnung einfach dahinter.

PS: Das language-Attribut ist veraltet -> weg damit.
PPS: HTML-Kommentare haben in JS nichts verloren... außer du will wirklich noch den Mosaic unterstützen.
PPPS: .value liefert einen String zurück. Wenn du damit rechnen willst, solltest du das erst in eine Zahl umwandeln (geht mit parseFloat()). Bei Multiplikation ist das noch kein Problem, aber wenn du die addierst, erhältst du nicht das Gewünschte. (Außerdem kannst du damit dann abfangen, wenn eine Eingabe nicht als Zahl interpretiert werden kann - parseFloat() gibt dann NaN zurück).
 
Stimmt, du hast recht das kann ich ja schon :)

jetzt habe ich noch eine frage.

es soll folgendes berechnet werden.

Wenn das ergebniss von Feld1a*feld2a*feld3a größter ist als die eingabe in Feld 3 soll das Ergebniss von Feld1a,feld2a,feld3a verwendet werden um weiterzurechnen

d.h. Feld 3 ist entweder die eingabe ODER das Ergebnis der Rechnung von feld1a feld2a feld3a (insofern das ergebniss größer ist als die Eingabe)
 
Also ich glaub ich steh grad auf der Leitung -zurzeit sieht das script so aus: wenn ich auf "berechnen" klicke klar kommt das ergebnis a*c raus

jetzt muss ich unter "document.berechnen.gesamt.value = y"

eine IF zeile einfügen like this?

if (g > c) {
Parameter?? = "g";

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 

<title>Berechnen</title> 

<script language="JavaScript"> 
<!-- 
function Rechnen(){ 
 a = document.Berechnen.Feld1.value; 
 b = document.Berechnen.Feld2.value; 
 c = document.Berechnen.Feld3.value;
 d = document.Berechnen.Feld1a.value;
 e = document.Berechnen.Feld2a.value;
 f = document.Berechnen.Feld3a.value;
 g = d*e*f/6000;
 y = a*c; 
 
 document.Berechnen.Gesamt.value = y;
 }
 
 
// --> 
</script> 
 
</head> 
 
<body> 
 
<form method="POST" action="" name="Berechnen"> 
<div align="center">Feld1
    <select name="Feld1" size="1">
      <option value="1.25">Option 1</option>
      <option value="1.60">Option 2</option>
    </select>
    <br /> <br />


  </select><br /> <br />
Feldx
<select name="Feldx" size="1">
  <option value="">""</option>
</select>
<br /> <br />
Feld 2 <input type="text" name="Feld2" /> <br /> <br />
	

Feld3 <input type="number" select name="Feld3"> <br />

Feld1a <input type="number" select name="Feld1a">
Feld2a <input type="number" select name="Feld2a">
Feld3a <input type="number" select name="Feld3a"> <br />

<td>Gesamt <input type="text" name="Gesamt" size="10" onclick="Rechnen()"></td>

  </div>
		<tr> 
			<td align="right"><input type="button" value="Berechnen" onclick="Rechnen()"></td> 
			<td align="right"><input type="reset" value="Löschen"></td> 
			<td> </td> 
		</tr> 
	</table> 
	</div> 


</form> 
 
</body> 
 
</html>
 
Code:
function Rechnen(){ 
	var a = parseFloat(document.Berechnen.Feld1.value); 
	var b = parseFloat(document.Berechnen.Feld2.value); 
	var c = parseFloat(document.Berechnen.Feld3.value);
	var d = parseFloat(document.Berechnen.Feld1a.value);
	var e = parseFloat(document.Berechnen.Feld2a.value);
	var f = parseFloat(document.Berechnen.Feld3a.value);
	var g = d*e*f/6000;
	if (g > c){
		c = g;
	}
	var y = a*c; 

	document.Berechnen.Gesamt.value = y;
}
 
Zurück
Oben