I'm constructing a web page in Frontpage 2003 - don't let that put you off!!- and inserting some javascript to show the time in other cities in the world via a drop-list. I've pulled some fee code from a Java site and adapted it for my own use. The nature of the problem can best be illustrated using this simple example.
On my webpage I want to display the time in a European city and so I have inserted the following javascript:-
Looking at the code above, the option value allows the actual time in a particular European city to be displayed immediately to the right of the drop-down list conataining the names of European Cities. On its own, this code works perfectly. When I preview the result in Frontpage 2003, I see the inital value of the drop-down list and to the right of the list, is the local time in the UK. If I then select, for example, European city5, from the drop-down list, the time immediately to the right of the drop-down list advances 1 hour as it should do.
The problem arises when I want to insert the same code further down the webpage for American Cities. I've inserted the following code:-
However, when I now preview the results, the clocks to the right of each drop down lists disappear regardless of whatever options I choose from either drop-down list. I've been careful to choose a unique name each form used and I cannot understand where the coding is going wrong. I've tried putting each clock in a separate layer and this doesn't work.
Can anyone point me in the right direction as my aim is to have one web page with separate world clocks for Europe, Asia-middle East, Africa, US & Canada and S Ameria/Caribbean I don't want to combine all cities into one drop down list - which would work - as there are nearly 340 cities to choose from!
Many thanks
On my webpage I want to display the time in a European city and so I have inserted the following javascript:-
Code:
<table border="0" width="368" cellspacing="0" cellpadding="3">
<form name="europe">
<tr>
<td width="100%">
<select name="city" size="1" onchange="updateclock)this);">
<option value="" selected>Local time</option>
<option value="2">European City1</option>
<option value="1">European City2</option>
<option value="2">European City3</option>
<option value="2">European City4</option>
<option value="1">European City5</option>
</select> <font color="#000080"> <a
<p align="left">
<script language="JavaScript">
if )document.all||document.getElementById)
document.write)'<span id="worldclock" style="font:bold 10pt Arial;"></span><br>')
zone=0;
isitlocal=true;
ampm='';
function updateclock)z){
zone=z.options)z.selectedIndex).value;
isitlocal=)z.options)0).selected)?true:false;
}
function WorldClock)){
now=new Date));
ofst=now.getTimezoneOffset))/60;
secs=now.getSeconds));
sec=-1.57+Math.PI*secs/30;
mins=now.getMinutes));
min=-1.57+Math.PI*mins/30;
hr=)isitlocal)?now.getHours)):)now.getHours)) + parseInt)ofst)) + parseInt)zone);
hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt)now.getMinutes)))/360;
if )hr < 0) hr+=24;
if )hr > 23) hr-=24;
ampm = )hr > 11)?"PM":"AM";
statusampm = ampm.toLowerCase));
hr2 = hr;
if )hr2 == 0) hr2=12;
)hr2 < 13)?hr2:hr2 %= 12;
if )hr2<10) hr2="0"+hr2
var finaltime=hr2+':'+))mins < 10)?"0"+mins:mins)+':'+))secs < 10)?"0"+secs:secs)+' '+statusampm;
if )document.all)
worldclock.innerHTML=finaltime
else if )document.getElementById)
document.getElementById)"worldclock").innerHTML=finaltime
else if )document.layers){
document.worldclockns.document.worldclockns2.document.write)finaltime)
document.worldclockns.document.worldclockns2.document.close))
}
setTimeout)'WorldClock))',1000);
}
window.onload=WorldClock
//-->
</script>
</font>
</td>
</tr>
<tr>
<td width="100%">
<!--Place holder for NS4 only-->
<ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 10pt Arial;"></layer></ilayer>
</td>
</form>
</tr>
</table>
Looking at the code above, the option value allows the actual time in a particular European city to be displayed immediately to the right of the drop-down list conataining the names of European Cities. On its own, this code works perfectly. When I preview the result in Frontpage 2003, I see the inital value of the drop-down list and to the right of the list, is the local time in the UK. If I then select, for example, European city5, from the drop-down list, the time immediately to the right of the drop-down list advances 1 hour as it should do.
The problem arises when I want to insert the same code further down the webpage for American Cities. I've inserted the following code:-
Code:
<table border="0" width="368" cellspacing="0" cellpadding="3">
<form name="australasia">
<tr>
<td width="100%">
<select name="city" size="1" onchange="updateclock)this);">
<option value="" selected>Local time</option>
<option value="" selected>Local time</option>
<option value="-8">American City1</option>
<option value="-5">American City2</option>
<option value="-6">American City3</option>
<option value="-5">American City4</option>
<option value="-7">American City5</option>
</select> <font color="#000080"> <a
<p align="left">
<script language="JavaScript">
if )document.all||document.getElementById)
document.write)'<span id="worldclock" style="font:bold 10pt Arial;"></span><br>')
zone=0;
isitlocal=true;
ampm='';
function updateclock)z){
zone=z.options)z.selectedIndex).value;
isitlocal=)z.options)0).selected)?true:false;
}
function WorldClock)){
now=new Date));
ofst=now.getTimezoneOffset))/60;
secs=now.getSeconds));
sec=-1.57+Math.PI*secs/30;
mins=now.getMinutes));
min=-1.57+Math.PI*mins/30;
hr=)isitlocal)?now.getHours ) ) : ) now.getHours)) + parseInt)ofst)) + parseInt)zone);
hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt)now.getMinutes)))/360;
if )hr < 0) hr+=24;
if )hr > 23) hr-=24;
ampm = )hr > 11)?"PM":"AM";
statusampm = ampm.toLowerCase));
hr2 = hr;
if )hr2 == 0) hr2=12;
)hr2 < 13)?hr2:hr2 %= 12;
if )hr2<10) hr2="0"+hr2
var finaltime=hr2+':'+))mins < 10)?"0"+mins:mins)+':'+))secs < 10)?"0"+secs:secs)+' '+statusampm;
if )document.all)
worldclock.innerHTML=finaltime
else if )document.getElementById)
document.getElementById)"worldclock").innerHTML=finaltime
else if )document.layers){
document.worldclockns.document.worldclockns2.document.write)finaltime)
document.worldclockns.document.worldclockns2.document.close))
}
setTimeout)'WorldClock))',1000);
}
window.onload=WorldClock
//-->
</script>
</font>
</td>
</tr>
<tr>
<td width="100%">
<!--Place holder for NS4 only-->
<ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 10pt Arial;"></layer></ilayer>
</td>
</form>
</tr>
</table>
However, when I now preview the results, the clocks to the right of each drop down lists disappear regardless of whatever options I choose from either drop-down list. I've been careful to choose a unique name each form used and I cannot understand where the coding is going wrong. I've tried putting each clock in a separate layer and this doesn't work.
Can anyone point me in the right direction as my aim is to have one web page with separate world clocks for Europe, Asia-middle East, Africa, US & Canada and S Ameria/Caribbean I don't want to combine all cities into one drop down list - which would work - as there are nearly 340 cities to choose from!
Many thanks

Comment