Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Cuenta Regresiva Urgente (http://www.forosdelweb.com/f127/cuenta-regresiva-urgente-556287/)

cmarrero 12/02/2008 10:19

Cuenta Regresiva Urgente
 
Estoy intentando crear una cuenta regresiva desde 4 minutos a 0, yo lo hice en java script de la siguiente manera:

<script>
var timeLimit = 4; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);

function inicializar(){
document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
}

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else{
clearInterval(intervaloRegresivo);
alert("Fin");
}

document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

onload = inicializar;
</script>

En el body cargo el onload cuenta para que se inicia al incializar la pagina
y lo muestro <div id=cuenta >0</div>...

El tema es que yo necesito que esto al llegar a 0 lo envie un formulario, y en caso de que lo envien antes de llegar a 0 que envie asta donde alla llegado la cuenta regresiva...

quise poner la cuenta en el value de un imput pero no me inicia la cuenta...

Se que con ajax se puede enviar el contenido de un div, o algo asi... como puedo hacerlo... una ayuda plis..... es urgente

ZiTAL 13/02/2008 06:21

Re: Cuenta Regresiva Urgente
 
se me ocurre crear un campo hidden, y al form darle una ID para que luego lo puedas enviar desde javascript

Código HTML:

<form ... id="formu" onsubmit="return abc()">
....
<input name="tiempo" id="tiempo" value="" />
</form>

Código:

var cuentaatras=240000; // 4 minutos en milisegundos: 4*60*1000
...
function abc()
 {
  document.getElementById('tiempo').value=cuentaatras;
  return true;
 }

function RestarSegundo()
 {
  cuentaatras=cuentaatras-1000;
  if(cuentaatras==0)
  {
    formu=document.getElementById('formu');
    formu.submit();
  }
 }

setInterval("RestarSegundo()",1000); // se ejecutara cada segundo

asi al enviar te pillara el valor de cuentaatras, lo metera en la variable hidden y te lo enviara por post, luego ya tu lo puedes procesar como una variable normal de POST.

cmarrero 13/02/2008 08:30

Re: Cuenta Regresiva Urgente
 
<script>

var timeLimit = 1; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);

function inicializar(){
document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
}

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else{
clearInterval(intervaloRegresivo);
}

document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();


}


onload = inicializar;
</script>

Asi lo tengo....

lo envio por post asi...

<form action="3paso.php" method="post" name="cuentaregresiva" onsubmit = "minutos.value = document.getElementById('cuenta').innerHTML" >

ya que el div se llama cuenta... y
<input name="minutos" type="hidden" id="minutos" />

Donde me decis que le agregue para que se envie cuando llega a 0

ZiTAL 13/02/2008 08:44

Re: Cuenta Regresiva Urgente
 
Código:

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else{
clearInterval(intervaloRegresivo); // aqui, y borra este ya que aqui se enviara el formulario ;)
}


cmarrero 13/02/2008 08:50

Re: Cuenta Regresiva Urgente
 
<script>
var timeLimit = 1; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);

function inicializar(){
document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
}

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else {
function abc()
{
document.getElementById('tiempo').value=cuentaatra s;
return true;
}

function RestarSegundo()
{
cuentaatras=cuentaatras-1000;
if(cuentaatras==0)
{
cuentaregresiva=document.getElementById('cuentareg resiva');
cuentaregresiva.submit();
}
}

setInterval("RestarSegundo()",1000);
}

document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

onload = inicializar;
</script>


ASI QUEDA CON LO QUE ME PASASTE, PERO ME DA HERROR EN LA PAGINA-..

DECIME SI ESTOY EQUIVOCADO EN LA FORMA EN QUE LO AGREGUE...

SALUDOS

ZiTAL 13/02/2008 08:57

Re: Cuenta Regresiva Urgente
 
Una pregunta. ¿Sabes lo que hace tu codigo?

GatorV 13/02/2008 08:58

Re: Cuenta Regresiva Urgente
 
Cerrado, continua en:

http://www.forosdelweb.com/f13/cuenta-regresiva-556226/

Por favor no dupliques temas.


La zona horaria es GMT -6. Ahora son las 10:04.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.