Welcome to WebmasterWorld.
onload="setInterval("
Note, that second quote will end this string. So your interval is never going to start. But you've got a setInterval call in your script already, so just delete this (it's best to avoid putting event handlers inline in your markup anyway).
Next, you're only creating currentdate once when the page loads. You're never incrementing it, therefore your countdown won't "tick" :) Here's a suggestion... modify your function to create a new Date every time the function is called. Alternatively, create a separate function which handles creating the Date, which then calls launchCountdown, and call setInterval on that function instead. For example:
var targetdate = new Date('1 September 2012');
function tickFallCountdown() {
var currentdate = new Date();
launchCountdown(targetdate, currentdate);
}
setInterval(tickFallCountdown, 1000);
Side note, it's best to avoid calling setTimeout and setInterval with quoted strings. Instead, pass a function reference. For example, in the code above I passed tickFallCountdown (the function reference) to setInterval instead of "tickFallCountdown()"
Also, in your launchCountdown method, you're calling targetdate.getTime() and currentdate.getTime() over and over... so that's a good opportunity to use a variable.
function launchCountdown(targetdate,currentdate){
var targetdateTime = targetdate.getTime(),
currentdateTime = currentdate.getTime(),
days = Math.floor((targetdateTime - currentdateTime)/(24*1000*60*60)),
hours = Math.floor((targetdateTime - currentdateTime)/(1000*60*60)) - (days*24),
minutes = Math.floor(((targetdateTime - currentdateTime)/(1000*60)) - (days*24*60) - (hours*60)),
seconds = Math.floor(((targetdateTime - currentdateTime)/(1000)) - (days*24*60*60) - (hours*60*60) - (minutes*60));
document.getElementById('countdown').innerHTML="T-Minus "+days+":"+hours+":"+minutes+":"+seconds+" until September 1st, 2012";
}