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

Script für DM Waehrungs Addition und Multiplikation

pendragon

New member
Hallo Leute,

suche ein JavaScript, mit dem ich verschiedene (Waehrung DM) Betraege addieren und multiplizieren kann.

Ein Beispiel:

Artikel_1-Anzahl x Artikel_1-Preis = Artikel_1_gesamt_preis

Artikel_2-Anzahl x Artikel_2-Preis = Artikel_2_gesamt_preis

... usw.

Und am Ende soll von allen Feldern mit “Artikel_x_gesamt_preis“ die Summe errechnet werden.

So, nun die Schwierigkeit:

1.) Artikel_x-Anzahl und Artikel_x-Preis sind Input-felder, die vom User selbst ausgefüllt werden
2.) In den input-feldern, in denen die Summe erscheint, soll diese als DM Waehrung erscheinen :
Bsp: 123,50 / 160,00 oder auch so: 123.50 / 160.00
Komma oder Punkt ist nicht wichtig, aber die Nullen schon

Ich lege mal mein bisherigen Versuch dazu. Es klappt alles bis auf die Anzeige der Nullen und das Problem, dass bei bestimmten Betraegen eine 9 stellige Zahl nach dem Komma angezeit wird.

Würde mich echt freuen, wenn mir jemand weiterhelfen könnte.

Pendragon


SCRIPT:


----------Im Head-------------------------

<script language="JavaScript">
<!--
function berechnen(){

var bf = document.bestellform; //Bestellformular
/*Artikel variablen aufbau, auslesen des Values aus den inputfeldern*/
//Artikel 1
var p1 = bf.preis.value //Preis (DM)
var pf1 = bf.preispf.value //Preis (PF)
var anz1 = bf.anzahl.value //Anzahl
//...
var p2 = bf.preis2.value
var pf2 = bf.preispf2.value
var anz2 = bf.anzahl2.value
var p3 = bf.preis3.value
var pf3 = bf.preispf3.value
var anz3 = bf.anzahl3.value
var p4 = bf.preis4.value
var pf4 = bf.preispf4.value
var anz4 = bf.anzahl4.value
var p5 = bf.preis5.value
var pf5 = bf.preispf5.value
var anz5 = bf.anzahl5.value
var p6 = bf.preis6.value
var pf6 = bf.preispf6.value
var anz6 = bf.anzahl6.value


//Zusammenrechen von DM und Pf feldern und ergaenzung um "." damit mit dem Betrag gerechnet werden kann
//Artikel 1
var a1g1 = parseInt(p1) + "." + parseInt(pf1);
var a1g2 = parseFloat(a1g1) * parseInt(anz1);
//...
var a2g1 = parseInt(p2) + "." + parseInt(pf2);
var a2g2 = parseFloat(a2g1) * parseInt(anz2);
var a3g1 = parseInt(p3) + "." + parseInt(pf3);
var a3g2 = parseFloat(a3g1) * parseInt(anz3);
var a4g1 = parseInt(p4) + "." + parseInt(pf4);
var a4g2 = parseFloat(a4g1) * parseInt(anz4);
var a5g1 = parseInt(p5) + "." + parseInt(pf5);
var a5g2 = parseFloat(a5g1) * parseInt(anz5);
var a6g1 = parseInt(p6) + "." + parseInt(pf6);
var a6g2 = parseFloat(a6g1) * parseInt(anz6);

/*Ergaenzen der Betraege um "0" oder "00", je nach Zahl nach dem Komma und
Ausgabe der Summe einzelner Artikel*/
//Artikel 1
if(pf1 == "00")
bf.gesamt.value = a1g2 + ".00";
else{
bf.gesamt.value = a1g2 + "0";
}
//...
if(pf2 == "00")
bf.gesamt2.value = a2g2 + ".00";
else{
bf.gesamt2.value = a2g2 + "0";
}
if(pf3 == "00")
bf.gesamt3.value = a3g2 + ".00";
else{
bf.gesamt3.value = a3g2 + "0";
}
if(pf4 == "00")
bf.gesamt4.value = a4g2 + ".00";
else{
bf.gesamt4.value = a4g2 + "0";
}
if(pf5 == "00")
bf.gesamt5.value = a5g2 + ".00";
else{
bf.gesamt5.value = a5g2 + "0";
}
if(pf6 == "00")
bf.gesamt6.value = a6g2 + ".00";
else{
bf.gesamt6.value = a6g2 + "0";
}

// Ausgabe der Summe aller Artikel
var gesamt = a1g2 + a2g2 + a3g2 + a4g2 + a5g2 + a6g2;
bf.gesamt7.value = gesamt;
}
//-->
</script>


-----------------Im Body-------------------------


<form name="bestellform">
Anzahl:<input type="text" name="anzahl" size="2" value="0">    Preis:<input type="text" name="preis" size="5" value="0">,<input type="text" name="preispf" size="2" value="00">  Gesamt:<input type="text" name="gesamt" size="10"><br><br>
Anzahl:<input type="text" name="anzahl2" size="2" value="0">    Preis:<input type="text" name="preis2" size="5" value="0">,<input type="text" name="preispf2" size="2" value="00">  Gesamt:<input type="text" name="gesamt2" size="10"><br><br>
Anzahl:<input type="text" name="anzahl3" size="2" value="0">    Preis:<input type="text" name="preis3" size="5" value="0">,<input type="text" name="preispf3" size="2" value="00">  Gesamt:<input type="text" name="gesamt3" size="10"><br><br>
Anzahl:<input type="text" name="anzahl4" size="2" value="0">    Preis:<input type="text" name="preis4" size="5" value="0">,<input type="text" name="preispf4" size="2" value="00">  Gesamt:<input type="text" name="gesamt4" size="10"><br><br>
Anzahl:<input type="text" name="anzahl5" size="2" value="0">    Preis:<input type="text" name="preis5" size="5" value="0">,<input type="text" name="preispf5" size="2" value="00">  Gesamt:<input type="text" name="gesamt5" size="10"><br><br>
Anzahl:<input type="text" name="anzahl6" size="2" value="0">    Preis:<input type="text" name="preis6" size="5" value="0">,<input type="text" name="preispf6" size="2" value="00">  Gesamt:<input type="text" name="gesamt6" size="10"><br><br>

Gesamt:<input type="text" name="gesamt7" size="10"><br><br>
<input type="button" value="berechnen" onClick="berechnen()">
</form>
 
Oha, klasse ...

Moin moin Pendragon,

lass mich zu beginn ein paar Fragen stellen, warum ließt Du die Felder nicht in einer Schleife und ein einer Feldvariable aus? Und warum müssen die Pfennige extra eingegeben werden?
Mit Deinen Nullen komm ich so recht gar nicht klar. aber ich würde e folgendermaßen machen.
Erstmal würde ich den Preis in ein Feld legen (inkl Pfennigbeträge) dann alle Felder auslesen, wobei man jetzt noch ein abfrage machen kann, ob die Eingaben in Ordung sind (ergo Zahlen eingegeben wurden). Dann alles hübch zusammenrechnen. Jetzt fragen wir einfach nach der Position des Punktes und der länge der Variablen, je nachdem, wo sich der Punkt befindet, hängen wir ein paar Nullen dran. Zu guter letzt schreiben wir alles in die Formularfelder ... voila, es ist angerichtet

Marko

PS: Bein anfügen der Nullen darauf achten, das man in Stringvariablen arbeitet, da es keine 12.90 in der Zahlenwelt gibt.
 
Zuletzt bearbeitet:
Zurück
Oben