Im using the script below to total lines on an invoice.
There are 3 fields per line: Line_Qty(n), Line_Unit_Price (n) and
Line_Item_Subto tal(n).
It works when there is a fixed number of lines but I need to have it work
for any amount of lines.
Can somebody help me convert this into a loop?
Thanks in advance!
function calc(form) {
var sum = 0;
var rowsum;
var quantity = 1
// Add Lines
if ( parseFloat(form .Line_Qty1.valu e) &&
parseFloat(form .Line_Unit_Pric e1.value) ) {
quantity += parseInt(form.L ine_Qty1.value) ;
form.Line_Qty1. value = parseInt(form.L ine_Qty1.value) ;
form.Line_Unit_ Price1.value = parseFloat(form .Line_Unit_Pric e1.value);
rowsum = form.Line_Qty1. value * form.Line_Unit_ Price1.value;
sum += rowsum;
form.Line_Unit_ Price1.value = money(form.Line _Unit_Price1.va lue);
form.Line_Item_ Subtotal1.value = money(rowsum)
}
if ( parseFloat(form .Line_Qty2.valu e) &&
parseFloat(form .Line_Unit_Pric e2.value) ) {
quantity += parseInt(form.L ine_Qty2.value) ;
form.Line_Qty2. value = parseInt(form.L ine_Qty2.value) ;
form.Line_Unit_ Price2.value = parseFloat(form .Line_Unit_Pric e2.value);
rowsum = form.Line_Qty2. value * form.Line_Unit_ Price2.value;
sum += rowsum;
form.Line_Unit_ Price2.value = money(form.Line _Unit_Price2.va lue);
form.Line_Item_ Subtotal2.value = money(rowsum)
}
if ( parseFloat(form .Line_Qty3.valu e) &&
parseFloat(form .Line_Unit_Pric e3.value) ) {
quantity += parseInt(form.L ine_Qty3.value) ;
form.Line_Qty3. value = parseInt(form.L ine_Qty3.value) ;
form.Line_Unit_ Price3.value = parseFloat(form .Line_Unit_Pric e3.value);
rowsum = form.Line_Qty3. value * form.Line_Unit_ Price3.value;
sum += rowsum;
form.Line_Unit_ Price3.value = money(form.Line _Unit_Price3.va lue);
form.Line_Item_ Subtotal3.value = money(rowsum)
}
and so on......
There are 3 fields per line: Line_Qty(n), Line_Unit_Price (n) and
Line_Item_Subto tal(n).
It works when there is a fixed number of lines but I need to have it work
for any amount of lines.
Can somebody help me convert this into a loop?
Thanks in advance!
function calc(form) {
var sum = 0;
var rowsum;
var quantity = 1
// Add Lines
if ( parseFloat(form .Line_Qty1.valu e) &&
parseFloat(form .Line_Unit_Pric e1.value) ) {
quantity += parseInt(form.L ine_Qty1.value) ;
form.Line_Qty1. value = parseInt(form.L ine_Qty1.value) ;
form.Line_Unit_ Price1.value = parseFloat(form .Line_Unit_Pric e1.value);
rowsum = form.Line_Qty1. value * form.Line_Unit_ Price1.value;
sum += rowsum;
form.Line_Unit_ Price1.value = money(form.Line _Unit_Price1.va lue);
form.Line_Item_ Subtotal1.value = money(rowsum)
}
if ( parseFloat(form .Line_Qty2.valu e) &&
parseFloat(form .Line_Unit_Pric e2.value) ) {
quantity += parseInt(form.L ine_Qty2.value) ;
form.Line_Qty2. value = parseInt(form.L ine_Qty2.value) ;
form.Line_Unit_ Price2.value = parseFloat(form .Line_Unit_Pric e2.value);
rowsum = form.Line_Qty2. value * form.Line_Unit_ Price2.value;
sum += rowsum;
form.Line_Unit_ Price2.value = money(form.Line _Unit_Price2.va lue);
form.Line_Item_ Subtotal2.value = money(rowsum)
}
if ( parseFloat(form .Line_Qty3.valu e) &&
parseFloat(form .Line_Unit_Pric e3.value) ) {
quantity += parseInt(form.L ine_Qty3.value) ;
form.Line_Qty3. value = parseInt(form.L ine_Qty3.value) ;
form.Line_Unit_ Price3.value = parseFloat(form .Line_Unit_Pric e3.value);
rowsum = form.Line_Qty3. value * form.Line_Unit_ Price3.value;
sum += rowsum;
form.Line_Unit_ Price3.value = money(form.Line _Unit_Price3.va lue);
form.Line_Item_ Subtotal3.value = money(rowsum)
}
and so on......
Comment