Javscript embedding problem

From: Date: Sun, 18 Sep 2005 20:40:34 +0000
Subject: Javscript embedding problem
Groups: php.general 
Request: Send a blank email to php-general+get-222600@lists.php.net to get a copy of this message
I realize this isn't exactly a PHP problem, but I'm hoping someone here can see whatever it is I'm evidently missing. The script works just fine in normal html, but refuses to run when I attempt to embed this in one of my php pages. Which leads me to believe I've made a formatting mistake of some type. I'm trying to call the javascript in this portion of code //INCLUSION OF COUNTDOWN TIMER ."<tr><td colspan=2><SCRIPT language='JavaScript' SRC='countdown.js'></SCRIPT><center><script type='text/javascript'>countdown_clock(05, 11, 19, 08, 00, 1);</script></center></td></tr>\n" ."</table>\n" countdown.js looks like this: <script type=\"text/javascript\"> function countdown_clock(year, month, day, hour, minute, format)
         {
         //I chose a div as the container for the timer, but
         //it can be an input tag inside a form, or anything
         //who's displayed content can be changed through
         //client-side scripting.
         html_code = '<div id=\"countdown\"></div>';
         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.getYear() - 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);
         }
</script>

« previous php.general (#222600) next »