[thelist] Javascript: Objects to Strings
Minh-Lee Goon
mlgoon at netscape.net
29 Nov 99 14:20:28 CST
Here's what I'm trying to do:
I'm taking values from a form and calculating them. The form is a sign-in
sheet, where the employees type in the times they signed in and out and the
form calculates how long they've worked.
I've included the script here so you can take a look at what I've been
attempting. The last chunk of the code is what's bothering me.
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Timesheet Calculator</title>
<style type="text/css">
<!--
b { color:#0080ff; font-size:17px; }
input { font-size:14px; font-family:"Courier New"; }
-->
</style>
<script language="JavaScript">
<!--
function splitTime() {
Total_Duration = 0;
for (i=1;i<=31;i++) {
Start_Time = eval("document.TimeSheet.start" + i + ".value");
splitPoint = Start_Time.indexOf(":");
Start_Hours = Start_Time.substring(0,splitPoint);
Start_Minutes = Start_Time.substring((splitPoint + 1),Start_Time.length);
StartHours = eval(Start_Hours);
StartMinutes = eval(Start_Minutes);
Start = StartHours + (StartMinutes/60);
End_Time = eval("document.TimeSheet.end" + i + ".value");
splitPoint = End_Time.indexOf(":");
End_Hours = End_Time.substring(0,splitPoint);
End_Minutes = End_Time.substring((splitPoint + 1),End_Time.length);
EndHours = eval(End_Hours);
EndMinutes = eval(End_Minutes);
End = EndHours + (EndMinutes/60);
if (End <= Start) {
alert('Please check the values again.');
return false;
}
else {
duration = End - Start;
}
var Duration_Array = new Array();
duration_Array[i] = duration;
TimeSheet.duration[i].value = eval("document.TimeSheet.duration" + i +
".value");
TimeSheet.duration[i].value = duration[i];
Total_Duration = Total_Duration + duration;
TimeSheet.total.value = Total_Duration;
}
}
//-->
</script>
</head>
<body>
<table border="0" width="450">
<tr align="right" valign="top">
<td>
<font face="Arial" size="2">
<form method="post" name="TimeSheet">
<b>1</b> Start: <input name="start1" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end1" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration1"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>2</b> Start: <input name="start2" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end2" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration2"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>3</b> Start: <input name="start3" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end3" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration3"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>4</b> Start: <input name="start4" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end4" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration4"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>5</b> Start: <input name="start5" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end5" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration5"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>6</b> Start: <input name="start6" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end6" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration6"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>7</b> Start: <input name="start7" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end7" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration7"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>8</b> Start: <input name="start8" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end8" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration8"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>9</b> Start: <input name="start9" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end9" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration9"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>10</b> Start: <input name="start10" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end10" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration10"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>11</b> Start: <input name="start11" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end11" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration11"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>12</b> Start: <input name="start12" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end12" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration12"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>13</b> Start: <input name="start13" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end13" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration13"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>14</b> Start: <input name="start14" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end14" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration14"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>15</b> Start: <input name="start15" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end15" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration15"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>16</b> Start: <input name="start16" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end16" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration16"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>17</b> Start: <input name="start17" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end17" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration17"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>18</b> Start: <input name="start18" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end18" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration18"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>19</b> Start: <input name="start19" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end19" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration19"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>20</b> Start: <input name="start20" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end20" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration20"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>21</b> Start: <input name="start21" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end21" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration21"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>22</b> Start: <input name="start22" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end22" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration22"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>23</b> Start: <input name="start23" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end23" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration23"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>24</b> Start: <input name="start24" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end24" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration24"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>25</b> Start: <input name="start25" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end25" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration25"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>26</b> Start: <input name="start26" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end26" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration26"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>27</b> Start: <input name="start27" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end27" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration27"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>28</b> Start: <input name="start28" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end28" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration28"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>29</b> Start: <input name="start29" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end29" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration29"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>30</b> Start: <input name="start30" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end30" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration30"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<b>31</b> Start: <input name="start31" type="Text" size="10" maxlength="5"
onchange="splitTime()"> End: <input name="end31" type="Text" size="10"
maxlength="5" onchange="splitTime()"> Duration: <input name="duration31"
type="Text" size="10" maxlength="5" onchange="splitTime()"><br>
<p>
<b>Total number of hours:</b> <input name="total" type="Text" size="10"
maxlength="5" onchange="splitTime()" maxlength="5" onchange="splitTime()">
<input type="Submit" value="Calculate"><br>
<input type="Reset" value="Reset"><br>
</form>
</font>
</td>
</tr>
</table>
</body>
</html>
____________________________________________________________________
Get your own FREE, personal Netscape WebMail account today at http://webmail.netscape.com.