PDA

View Full Version : Problem with array adding, can someone help?


noobie2005
11-17-2005, 02:02 PM
Hi,

I might be here often, either posting a question/problem, and hope to learn from my mistakes. Thanks in advance to whom ever take time and helps me out.

On to my problem. I have a whole bunch of arrays, and add them up. In some totaling fields, they work fine, but in others, for some reason, the total double (ie, you put in 1 and the total will come out 2, even though you only put in one number) and also, I think my math may be right, but I can not get a grand total. Hopefully I can post the code and you can see what I'm talking about. Thanks again!


<html>
<head>
<title>Untitled</title>
</head>
<script language="JavaScript" type="text/javascript">
<!--
function Calculatetotal(form)
{
var grand_total = 0
var mi_tot = 0
var milage = 0
var milage_tot = 0
var lod_tot = 0
var meals_tot = 0
var auto_tot = 0
var enter_tot = 0
var other_tot = 0

for (var i=0; i < form.elements.length; i++)
{
var el = form.elements[i];
//Calculate all miles values by looping through all fields
if(el.type == "text" && el.name.substring(0,5) == "miles")
{
var milesArray = new Array(9)
milesArray[i] = el.value /*'name'Array[i] = el.value means get value of current field*/

milage_tot += milesArray[i] * .405
mi_tot += Number(milesArray[i])

form.milage_tot.value = milage_tot.toFixed(2)
form.mi_tot.value = Number(mi_tot)
}//end mile if
//Lodgeing calculation
if(el.type == "text" && el.name.substring(0,7) == "lodging")
{
var lodArray = new Array(9)
lodArray[i] = el.value

lod_tot += Number(lodArray[i])
form.lod_tot.value = Number(lod_tot)
}//end lodging
//meals calc
if(el.type == "text" && el.name.substring(0,5) == "meals")
{
var mealsArray = new Array(9)
mealsArray[i] = el.value

meals_tot += Number(mealsArray[i])
form.meals_tot.value = Number(meals_tot)
}//end meals calc
//auto calc
if(el.type == "text" && el.name.substring(0,4) == "auto")
{
var autoArray = new Array(9)
autoArray[i] = el.value

auto_tot += Number(autoArray[i])
form.auto_tot.value = Number(auto_tot)
}//end auto calc
//entertainment calc
if(el.type == "text" && el.name.substring(0,13) == "entertainment")
{
var enterArray = new Array(9)
enterArray[i] = el.value

enter_tot += Number(enterArray[i])
form.enter_tot.value = Number(enter_tot)
}//end entertainment
//other calc
if(el.type == "text" && el.name.substring(0,5) == "other")
{
var otherArray = new Array(9)
otherArray[i] = el.value

other_tot += Number(otherArray[i])
form.other_tot.value = Number(other_tot)
}//end other calc
/*if(el.type == "text" && el.name.substring(0,6) == "milage")
{
var milageArray = new Array(9)
milageArray[i] = Number(milesArray[i]) * .405
milage = Number(milageArray[i])
form.milage[i].value = Number(milageArray)
}*/
if(el.type == "text" && el.name.substring(0,5) == "grand")
{
form.mi_tot.value = Number(mi_tot)
form.lod_tot.value = Number(lod_tot)
form.meals_tot.value = Number(meals_tot)
form.auto_tot.value = Number(auto_tot)
form.enter_tot.value = Number(enter_tot)
form.other_tot.value = Number(other_tot)

grand_total == Number(mi_tot + milage_tot + lod_tot + meals_tot + auto_tot + enter_tot + other_tot)
}
}
form.grand_tot.value = Number(grand_total)
}
//-->
</script>

<body>
<form name="form" method="post" action="">
<table width="950" border="0">
<tr>
<th><div align="center">DATE</div></th>
<th><div align="center">DETAIL OF EXPENSES</div></th>
<th><div align="center">MILES</div></th>
<th><div align="center">MILEAGE</div></th>
<th><div align="center">LODGING</div></th>
<th><div align="center">MEALS</div></th>
<th><div align="center">TOLLS/AUTO</div></th>
<th><div align="center">ENTERTAINMENT</div></th>
<th><div align="center">OTHER</div></th>
<th><div align="center">TOTALS</div></th>
</tr>
<tr>
<td><input name="date1" type="text" size="8" maxlength="8"></td>
<td><input name="desc1" type="text" size="28"></td>
<td><div align="center"><input name="miles1" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage1" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging1" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals1" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto1" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment1" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other1" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_1" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date2" type="text" size="8" maxlength="8"></td>
<td><input name="desc2" type="text" size="28"></td>
<td><div align="center"><input name="miles2" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage2" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging2" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals2" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto2" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment2" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other2" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_2" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date3" type="text" size="8" maxlength="8"></td>
<td><input name="desc3" type="text" size="28"></td>
<td><div align="center"><input name="miles3" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage3" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging3" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals3" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto3" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment3" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other3" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_3" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date4" type="text" size="8" maxlength="8"></td>
<td><input name="desc4" type="text" size="28"></td>
<td><div align="center"><input name="miles4" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage4" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging4" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals4" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto4" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment4" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other4" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_4" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date5" type="text" size="8" maxlength="8"></td>
<td><input name="desc5" type="text" size="28"></td>
<td><div align="center"><input name="miles5" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage5" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging5" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals5" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto5" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment5" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other5" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_5" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date6" type="text" size="8" maxlength="8"></td>
<td><input name="desc6" type="text" size="28"></td>
<td><div align="center"><input name="miles6" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage6" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging6" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals6" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto6" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment6" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other6" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_6" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date7" type="text" size="8" maxlength="8"></td>
<td><input name="desc7" type="text" size="28"></td>
<td><div align="center"><input name="miles7" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage7" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging7" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals7" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto7" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment7" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other7" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_7" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date8" type="text" size="8" maxlength="8"></td>
<td><input name="desc8" type="text" size="28"></td>
<td><div align="center"><input name="miles8" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage8" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging8" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals8" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto8" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment8" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other8" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_8" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td><input name="date9" type="text" size="8" maxlength="8"></td>
<td><input name="desc9" type="text" size="28"></td>
<td><div align="center"><input name="miles9" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage9" type="text" size="12" disabled></div></td>
<td><div align="center"><input name="lodging9" type="text" size="12" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals9" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto9" type="text" size="16" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment9" type="text" size="30" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other9" type="text" size="9" onChange="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_9" type="text" size="12" disabled></div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td><div align="center"><input name="mi_tot" type="text" size="9" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="milage_tot" type="text" size="12" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="lod_tot" type="text" size="12" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="meals_tot" type="text" size="9" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="auto_tot" type="text" size="16" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="enter_tot" type="text" size="30" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="other_tot" type="text" size="9" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="grand_tot" type="text" size="12" onBlur="this.form.elements[0].focus()" disabled></div></td>
</tr>
</table>
</form>
</body>
</html>

Kor
11-17-2005, 02:22 PM
at a first glance I see that some variables have the same names as some elements, which will bring you errors:

milage_tot += milesArray[i] * .405
mi_tot += Number(milesArray[i])
form.milage_tot.value = milage_tot.toFixed(2)
form.mi_tot.value = Number(mi_tot)

and so on

Nischumacher
11-17-2005, 02:30 PM
grand_total == Number(mi_tot + milage_tot + lod_tot + meals_tot + auto_tot + enter_tot + other_tot)

use =
not ==

noobie2005
11-17-2005, 03:43 PM
Thanks.
That helped, and I've got most of the form working. I still have the same problem though. I get double in the 'MEALS' 'TOLLS/AUTO' & 'OTHER' total fields at the bottom. I dont know what's causing that. Those if statements and calculations are the same as all the rest. The script is the same, with some minor tweeks, but does'nt need to be posted again. If anyone can help me out, I'm fresh out of ideas for those 3 fields, thank you very much.

Kor
11-17-2005, 04:01 PM
Let's rewrite the code. Should values only on first and last group be multipiled with .405 and for the rest a simple adding?

noobie2005
11-17-2005, 04:08 PM
No, just the numbers in the first group under the heading of MILES should be mulitplied by .405. That part I've got (probably did it the sucker way, but hey, I'm still kinda new at this...)

Heres what I have so far:


<script language="JavaScript" type="text/javascript">
<!--
function Calculatetotal(form)
{
var grand_total = 0
var mi_tot = 0
var milage = 0
var milage_tot = 0
var lod_tot = 0
var meals_tot = 0
var auto_tot = 0
var enter_tot = 0
var other_tot = 0

for (var i=0; i < form.elements.length; i++)
{
var el = form.elements[i];
//Calculate all miles values by looping through all fields
if(el.type == "text" && el.name.substring(0,5) == "miles")
{
var milesArray = new Array(9)
milesArray[i] = el.value /*'name'Array[i] = el.value means get value of current field*/

milage_tot += milesArray[i] * .405
mi_tot += Number(milesArray[i])

form.milage_total.value = milage_tot.toFixed(2)
form.mi_total.value = mi_tot.toFixed(2)
}//end mile if
//Lodgeing calculation
if(el.type == "text" && el.name.substring(0,7) == "lodging")
{
var lodArray = new Array(9)
lodArray[i] = el.value

lod_tot += Number(lodArray[i])
form.lod_total.value = lod_tot.toFixed(2)
}//end lodging
//meals calc
if(el.type == "text" && el.name.substring(0,5) == "meals")
{
var mealsArray = new Array(9)
mealsArray[i] = el.value

meals_tot += Number(mealsArray[i])
form.meals_total.value = meals_tot.toFixed(2)
}//end meals calc
//auto calc
if(el.type == "text" && el.name.substring(0,4) == "auto")
{
var autoArray = new Array(9)
autoArray[i] = el.value

auto_tot += Number(autoArray[i])
form.auto_total.value = auto_tot.toFixed(2)
}//end auto calc
//entertainment calc
if(el.type == "text" && el.name.substring(0,13) == "entertainment")
{
var enterArray = new Array(9)
enterArray[i] = el.value

enter_tot += Number(enterArray[i])
form.enter_total.value = enter_tot.toFixed(2)
}//end entertainment
//other calc
if(el.type == "text" && el.name.substring(0,5) == "other")
{
var otherArray = new Array(9)
otherArray[i] = el.value

other_tot += Number(otherArray[i])
form.other_total.value = other_tot.toFixed(2)
}//end other calc
if(el.type == "text" && el.name.substring(0,6) == "milage")
{
var mi_1 = form.miles1.value
mil_1 = mi_1 * .405
form.milage1.value = mil_1.toFixed(2)

var mi_2 = form.miles2.value
mil_2 = mi_2 * .405
form.milage2.value = mil_2.toFixed(2)

var mi_3 = form.miles3.value
mil_3 = mi_3 * .405
form.milage3.value = mil_3.toFixed(2)

var mi_4 = form.miles4.value
mil_4 = mi_4 * .405
form.milage4.value = mil_4.toFixed(2)

var mi_5 = form.miles5.value
mil_5 = mi_5 * .405
form.milage5.value = mil_5.toFixed(2)

var mi_6 = form.miles6.value
mil_6 = mi_6 * .405
form.milage6.value = mil_6.toFixed(2)

var mi_7 = form.miles7.value
mil_7 = mi_7 * .405
form.milage7.value = mil_7.toFixed(2)

var mi_8 = form.miles8.value
mil_8 = mi_8 * .405
form.milage8.value = mil_8.toFixed(2)

var mi_9 = form.miles9.value
mil_9 = mi_9 * .405
form.milage9.value = mil_9.toFixed(2)
}
if(el.type == "text" && el.name.substring(0,5) == "total")
{
var tot_1 = 0.00
var a1 = form.milage1.value
var a2 = form.lodging1.value
var a3 = form.meals1.value
var a4 = form.auto1.value
var a5 = form.entertainment1.value
var a6 = form.other1.value
tot_1 = Number(a1) + Number(a2) + Number(a3) + Number(a4) + Number(a5) + Number(a6)
form.total_1.value = tot_1.toFixed(2)

var tot_2 = 0.00
var b1 = form.milage2.value
var b2 = form.lodging2.value
var b3 = form.meals2.value
var b4 = form.auto2.value
var b5 = form.entertainment2.value
var b6 = form.other2.value
tot_2 = Number(b1) + Number(b2) + Number(b3) + Number(b4) + Number(b5) + Number(b6)
form.total_2.value = tot_2.toFixed(2)

var tot_3 = 0.00
var c1 = form.milage3.value
var c2 = form.lodging3.value
var c3 = form.meals3.value
var c4 = form.auto3.value
var c5 = form.entertainment3.value
var c6 = form.other3.value
tot_3 = Number(c1) + Number(c2) + Number(c3) + Number(c4) + Number(c5) + Number(c6)
form.total_3.value = tot_3.toFixed(2)

var tot_4 = 0.00
var d1 = Number(form.milage4.value)
var d2 = Number(form.lodging4.value)
var d3 = Number(form.meals4.value)
var d4 = Number(form.auto4.value)
var d5 = Number(form.entertainment4.value)
var d6 = Number(form.other4.value)
tot_4 = Number(d1 + d2 + d3 + d4 + d5 + d6)
form.total_4.value = tot_4.toFixed(2)

var tot_5 = 0.00
var e1 = Number(form.milage5.value)
var e2 = Number(form.lodging5.value)
var e3 = Number(form.meals5.value)
var e4 = Number(form.auto5.value)
var e5 = Number(form.entertainment5.value)
var e6 = Number(form.other5.value)
tot_5 = Number(f1 + f2 + f3 + f4 + f5 + f6)
form.total_5.value = tot_5.toFixed(2)

var tot_6 = 0.00
var f1 = Number(form.milage6.value)
var f2 = Number(form.lodging6.value)
var f3 = Number(form.meals6.value)
var f4 = Number(form.auto6.value)
var f5 = Number(form.entertainment6.value)
var f6 = Number(form.other6.value)
tot_6 = Number(f1 + f2 + f3 + f4 + f5 + f6)
form.total_6.value = tot_6.toFixed(2)

var tot_7 = 0.00
var g1 = Number(form.milage7.value)
var g2 = Number(form.lodging7.value)
var g3 = Number(form.meals7.value)
var g4 = Number(form.auto7.value)
var g5 = Number(form.entertainment7.value)
var g6 = Number(form.other7.value)
tot_7 = Number(g1 + g2 + g3 + g4 + g5 + g6)
form.total_7.value = tot_7.toFixed(2)

var tot_8 = 0.00
var h1 = Number(form.milage8.value)
var h2 = Number(form.lodging8.value)
var h3 = Number(form.meals8.value)
var h4 = Number(form.auto8.value)
var h5 = Number(form.entertainment8.value)
var h6 = Number(form.other8.value)
tot_8 = Number(h1 + h2 + h3 + h4 + h5 + h6)
form.total_8.value = tot_8.toFixed(2)

var tot_9 = 0.00
var i1 = Number(form.milage9.value)
var i2 = Number(form.lodging9.value)
var i3 = Number(form.meals9.value)
var i4 = Number(form.auto9.value)
var i5 = Number(form.entertainment9.value)
var i6 = Number(form.other9.value)
tot_9 = Number(i1 + i2 + i3 + i4 + i5 + i6)
form.total_9.value = tot_9.toFixed(2)
}
if(el.type == "text" && el.name.substring(0,5) == "grand")
{
form.mi_total.value = Number(mi_tot)
form.lod_total.value = Number(lod_tot)
form.meals_total.value = Number(meals_tot)
form.auto_total.value = Number(auto_tot)
form.enter_total.value = Number(enter_tot)
form.other_total.value = Number(other_tot)

grand_total = Number(mi_tot + milage_tot + lod_tot + meals_tot + auto_tot + enter_tot + other_tot)
}
}
form.grand_total.value = grand_total.toFixed(2)
}
//-->
</script>


It works the way I want it to, I just keep getting the same totaling error as last time. Sorry, for the PAGES of code, but maybe its somewhere that I'm not looking. Thanks Kor

Nischumacher
11-17-2005, 04:10 PM
in the three fields in which you have the problem... you are checking for the name to start with a string which is present in the total field as well...
so... rename the total fields...
if i am not clear...

for auto...
el.name.substring(0,4) == "auto")
this will give you the 9 fields... auto1, auto2, auto3.... auto9
and auto_tot as well...

so the value is doubled...

rename auto_tot to something else...

hope i am clear now...

noobie2005
11-17-2005, 04:17 PM
Actually, I did that already, and still...same bug
Here's the form:

<form name="form" method="post" action="">
<table width="950" border="0">
<tr>
<th><div align="center">DATE</div></th>
<th><div align="center">DETAIL OF EXPENSES</div></th>
<th><div align="center">MILES</div></th>
<th><div align="center">MILEAGE</div></th>
<th><div align="center">LODGING</div></th>
<th><div align="center">MEALS</div></th>
<th><div align="center">TOLLS/AUTO</div></th>
<th><div align="center">ENTERTAINMENT</div></th>
<th><div align="center">OTHER</div></th>
<th><div align="center">TOTALS</div></th>
</tr>
<tr>
<td><input name="date1" type="text" size="8" maxlength="8"></td>
<td><input name="desc1" type="text" size="28"></td>
<td><div align="center"><input name="miles1" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage1" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging1" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals1" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto1" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment1" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other1" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_1" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date2" type="text" size="8" maxlength="8"></td>
<td><input name="desc2" type="text" size="28"></td>
<td><div align="center"><input name="miles2" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage2" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging2" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals2" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto2" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment2" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other2" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_2" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date3" type="text" size="8" maxlength="8"></td>
<td><input name="desc3" type="text" size="28"></td>
<td><div align="center"><input name="miles3" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage3" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging3" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals3" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto3" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment3" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other3" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_3" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date4" type="text" size="8" maxlength="8"></td>
<td><input name="desc4" type="text" size="28"></td>
<td><div align="center"><input name="miles4" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage4" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging4" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals4" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto4" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment4" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other4" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_4" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date5" type="text" size="8" maxlength="8"></td>
<td><input name="desc5" type="text" size="28"></td>
<td><div align="center"><input name="miles5" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage5" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging5" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals5" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto5" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment5" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other5" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_5" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date6" type="text" size="8" maxlength="8"></td>
<td><input name="desc6" type="text" size="28"></td>
<td><div align="center"><input name="miles6" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage6" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging6" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals6" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto6" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment6" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other6" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_6" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date7" type="text" size="8" maxlength="8"></td>
<td><input name="desc7" type="text" size="28"></td>
<td><div align="center"><input name="miles7" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage7" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging7" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals7" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto7" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment7" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other7" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_7" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date8" type="text" size="8" maxlength="8"></td>
<td><input name="desc8" type="text" size="28"></td>
<td><div align="center"><input name="miles8" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage8" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging8" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals8" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto8" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment8" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other8" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_8" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td><input name="date9" type="text" size="8" maxlength="8"></td>
<td><input name="desc9" type="text" size="28"></td>
<td><div align="center"><input name="miles9" type="text" size="9" value="0" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="milage9" type="text" size="12" value="0.00" disabled></div></td>
<td><div align="center"><input name="lodging9" type="text" size="12" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="meals9" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="auto9" type="text" size="16" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="entertainment9" type="text" size="30" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="other9" type="text" size="9" value="0.00" onBlur="Calculatetotal(this.form)"></div></td>
<td><div align="center"><input name="total_9" type="text" size="12" value="0.00" disabled></div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td><div align="center"><input name="mi_total" type="text" size="9" value="0" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="milage_total" type="text" size="12" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="lod_total" type="text" size="12" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="meals_total" type="text" size="9" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="auto_total" type="text" size="16" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="enter_total" type="text" size="30" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="other_total" type="text" size="9" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
<td><div align="center"><input name="grand_total" type="text" size="12" value="0.00" onBlur="this.form.elements[0].focus()" disabled></div></td>
</tr>
</table>
</form>

noobie2005
11-17-2005, 04:21 PM
He He, sorry, I looked though it, a bit more carefully this time and changed some total and array names, and got it working.

Thank you so much to all who helped me with this form.

You guys are the best! :thumbsup:

ca_redwards
11-22-2005, 11:41 PM
<script language=javascript>
Array.prototype.write=String.prototype.write=function(){document.write(this)};
String.prototype.x=function(x,a){return '<'+x+(a?a:'')+'>'+this+'</'+x+'>'};
Array.prototype.x=function(x,a){return this.join('</'+x+'><'+x+(a?a:'')+'>').x(x,a)};
['DATE;DETAIL OF EXPENSES;MILES;MILEAGE;LODGING;MEALS;TOLLS/AUTO;ENTERTAINMENT;OTHER;TOTALS'.split(';').x('td'),R=[F='<input name="f" width="100%"

style="width:100%;">',F,F,F,F,F,F,F,F,F].x('td'),R,R,R,R,R,R,R,R].x('tr').x('table').x('form').write();
function update(){
with(document.forms[0]){
for(var j=0;j<9;j++){
r=0;
for(var i=3;i<9;i++){
V=f[i+j*10];
V.value=V.value.length>0?V.value:0;
r-= -V.value;
};
V=f[9+j*10];
V.value=r;
};
for(var i=3;i<10;i++){
c=0;
for(var j=0;j<8;j++){
V=f[i+j*10];
V.value=V.value.length>0?V.value:0;
c-= -V.value;
};
V=f[i+8*10];
V.value=c;
};
}
};
with(document.forms[0]){
for(var i=0;f.length;i++){
if((i%10==3)||(i%10==9)||(i>=10*8)){f[i].disabled=true;};
f[i].onchange=update;
}
}
</script>