• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

for() schleife

alistiar

Neues Mitglied
Hallo

Meine Aufgabe ist es ein Bestellformular zu erstellen. Die Felder Menge, Produkt(Auswahl aus 10), und MwSt-Satz kann man auswählen.
Das Formular hat 6 Zeilen. Ich hatte schon etwas vorläufiges aber das ist ziemlich umständlich.

Ich habe für jede Zeile eine separate if abfrage welches Produkt gewählt wurde und in jedem produkt nochmal die abfrage welche MwSt-Satz gewählt wurde.

hier ist die erste if abfrage:
var amount = document.bestellung.amount1.value;
if (isNaN(amount)) alert(amount + " ist keine Zahl"); //prüft ob Menge eine Zahl ist
var amount = Math.round(amount); //rundet die Kommastellen weg
document.bestellung.amount1.value = amount;

var value = document.bestellung.select_product1.value;
var tax = document.bestellung.select_tax1.value;
var taxvalue;
var price;




if(value == 1) //jeder if block prüft welches produkt ausgewählt wurde
{
var prozzi = 150.50;
if(tax == 19) //in jedem if block wird nochmal abgefragt welcher MwSt-satz gewählt wurde
{
taxvalue = (prozzi*0.19)* amount;
}
else
{
taxvalue = (prozzi*0.07)* amount;
}
price = prozzi*amount + taxvalue;
// round on 2 decimal place
taxvalue = (Math.round(taxvalue * 100) / 100);
price = (Math.round(price * 100) / 100);
//print in textbox
document.bestellung.singelpricei.value = prozzi;
document.bestellung.taxprice1.value = taxvalue;
document.bestellung.price1.value = price;
}
...abfragen der weiteren produkte

jetz ist mir in den sinn gekommen ich kann ja eine for schleife davor setzen und an den betreffenden stellen um ändern

var i;
for(i=1;i<7;i++)
{

var amount = document.bestellung.amount1"Statt der 1 ein i".value;
if (isNaN(amount)) alert(amount + " ist keine Zahl"); //prüft ob Menge eine Zahl ist
var amount = Math.round(amount); //rundet die Kommastellen weg
document.bestellung.amount1"Statt der 1 ein i".value = amoun
Wie muss ich das i genau da hinschreiben ?
"i"
+i
'i'

Danke schon mal für die schnelle Hilfe

Gruß Alistiar
 
Mit deinem Ansatz document.formname.inputname geht es nur mit der JavaScript eval-Funktion. Besser ist, du gibst den Inputs eine id='amount_1', .... und verwendest dann
Code:
var amount = document.getElementById('amount_' + i).value;
 
Hallo NetAktive

Ich hab nun alles umgetauscht und es funktioniert super :mrgreen:
und ich komm sogar nun nur mit 1/5 das JS Codes aus ^^

Danke nochmal !!
 
Zurück
Oben