# External Javascript not working in Firefox



## dmurfitt (Nov 27, 2002)

Hi,

I've added this javascript to my webpage, however it won't display in Firefox. Is there anyway of getting it to work?

This is in the head of the html

```
<script src="countdown-clock.js" type="text/javascript"></script>
```
This is in the external javascript

```
function countdown_clock(year, month, day, hour, minute, format) { html_code = '<span id="countdown"> </span>'; document.write(html_code); countdown(year, month, day, hour, minute, format); } function countdown(year, month, day, hour, minute, format) { Today = new Date(); Todays_Year = Today.getFullYear() - 2000; Todays_Month = Today.getMonth() + 1; //Convert both today's date and the target date into miliseconds. Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime(); Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime(); //Find their difference, and convert that into seconds. Time_Left = Math.round((Target_Date - Todays_Date) / 1000); if(Time_Left < 0) Time_Left = 0; switch(format) { case 0: //The simplest way to display the time left. document.all.countdown.innerHTML = Time_Left + ' seconds'; break; case 1: //More datailed. days = Math.floor(Time_Left / (60 * 60 * 24)); Time_Left %= (60 * 60 * 24); hours = Math.floor(Time_Left / (60 * 60)); Time_Left %= (60 * 60); minutes = Math.floor(Time_Left / 60); Time_Left %= 60; seconds = Time_Left; dps = 's'; hps = 's'; mps = 's'; sps = 's'; //ps is short for plural suffix. if(days == 1) dps =''; if(hours == 1) hps =''; if(minutes == 1) mps =''; if(seconds == 1) sps =''; document.all.countdown.innerHTML = days + ' day' + dps + ' '; document.all.countdown.innerHTML += hours + ' hour' + hps + ' '; document.all.countdown.innerHTML += minutes + ' minute' + mps + ' and '; document.all.countdown.innerHTML += seconds + ' second' + sps; break; default: document.all.countdown.innerHTML = Time_Left + ' seconds'; } //Recursive call, keeps the clock ticking. setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000); }
```
This is in the body of the html where I want the script to display

```
<script type="text/javascript">countdown_clock(07, 07, 1, 00, 00, 1);</script>
```
This seems to be producing the following error in the firefox javascript console:
I think I have found the error:
Error: document.all has no properties
Source File: countdown-clock.js
Line: 50

and line 50 reads:
document.all.countdown.innerHTML = days + ' day' + dps + ' ';
however, it's working fine in IE.

Any help would be much appreciated


----------



## Shadow2531 (Apr 30, 2001)

Don't use document.all.

Use document.getElementById().

So, replace each document.all.countdown in the script with document.getElementById("countdown") and it will work.


----------

