Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/08/2011, 09:50
Avatar de laratik
laratik
 
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: deshabilitar un botón submit cuando acabe una cuenta atras

Algo como esto:

Código Javascript:
Ver original
  1. <script language="JavaScript">
  2. window.onload = function(){StartCountDown("clock1",{year:2011,month:7,day:21,hour:10,minute:44},"env")};
  3. function StartCountDown(myDiv,myTargetDate,desh)
  4. {
  5. var dthen = new Date(myTargetDate.year,myTargetDate.month,myTargetDate.day,myTargetDate.hour,myTargetDate.minute);
  6. var dnow = new Date();
  7. ddiff = new Date(dthen-dnow);
  8. gsecs = Math.floor(ddiff.valueOf()/1000);
  9. CountBack(myDiv,gsecs,desh);
  10. }
  11.  
  12. function Calcage(secs, num1, num2)
  13. {
  14. s = ((Math.floor(secs/num1))%num2).toString();
  15. if (s.length < 2)
  16. {
  17. s = "0" + s;
  18. }
  19. return (s);
  20. }
  21.  
  22. function CountBack(myDiv, secs, desh)
  23. {
  24. var DisplayStr;
  25. var DisplayFormat = "%%D%% Dias, %%H%% Horas, %%M%% Minutos, %%S%% Segundos.";
  26. DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000));
  27. DisplayStr = DisplayStr.replace(/%%H%%/g, Calcage(secs,3600,24));
  28. DisplayStr = DisplayStr.replace(/%%M%%/g, Calcage(secs,60,60));
  29. DisplayStr = DisplayStr.replace(/%%S%%/g, Calcage(secs,1,60));
  30. if(secs > 0)
  31. {
  32. document.getElementById(myDiv).innerHTML = DisplayStr;
  33. setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ", '"+desh+"' );", 990);
  34. }
  35. else
  36. {
  37.     document.getElementById(desh).disabled = true;
  38.     document.getElementById(myDiv).innerHTML = "cuenta atras ha terminado!";
  39. }
  40. }
  41. </script>

Estaba observando que enviabas una cadena con formato "09/07/2011 07:28 PM", la cual a mi no me funcionaba, asi que la cambie por un objeto con estos datos como enteros (hace falta recordar que el mes se expresa como mes-1, asi enero no es 1, si no 0). Espero que te halla servido de ayuda.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.