Por que no intentas a pasar como parámetro el id del botón a desactivar así como haces con el div en el cual realizas la cuenta atrás, de esa manera obtendrías algo como esto:
Código Javascript
:
Ver original<script language="JavaScript">
StartCountDown("clock1","09/07/2011 07:28 PM")
function StartCountDown(myDiv,myTargetDate)
{
var dthen = new Date(myTargetDate);
var dnow = new Date();
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(myDiv,gsecs);
}
function Calcage(secs, num1, num2)
{
s = ((Math.floor(secs/num1))%num2).toString();
if (s.length < 2)
{
s = "0" + s;
}
return (s);
}
function CountBack(myDiv, secs, desh)
{
var DisplayStr;
var DisplayFormat = "%%D%% Dias, %%H%% Horas, %%M%% Minutos, %%S%% Segundos.";
DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, Calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, Calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, Calcage(secs,1,60));
if(secs > 0)
{
document.getElementById(myDiv).innerHTML = DisplayStr;
setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ", '"+desh+"' );", 990);
}
else
{
document.getElementById(desh).disabled = true;
document.getElementById(myDiv).innerHTML = "cuenta atras ha terminado!";
}
}
</script>
Al manejar recursividad debes también enviar el parámetro que recibes dentro de la función.
Código HTML:
<body onload="CountBack('c',60,'env')">
<div id="c"></div>
<form action="prueba.php" method="post">
<input type="submit" value="Enviar" id="env" />
</form>
</body>
Espero que sea lo que estas buscando.