Foros del Web » Programando para Internet » Javascript »

Me actualiza no envie el form

Estas en el tema de Me actualiza no envie el form en el foro de Javascript en Foros del Web. Tengo el siguien script, es un reloj que en cuenta regresiva que al llegar a 0, envia el formulario, el problema, es que si se ...
  #1 (permalink)  
Antiguo 18/05/2009, 13:44
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Me actualiza no envie el form

Tengo el siguien script, es un reloj que en cuenta regresiva que al llegar a 0, envia el formulario, el problema, es que si se demora al enviar el formulario vuelve a tratar de actualizar el reloj y se queda haciendo un bucle (obviamente si lo probas en un servidor local, no van a ver ese error) solo sucede si se demora en enviar el formulario...

Alguna ayuda....

Código HTML:
<script type="text/javascript" language="JavaScript"> 
var tiempo = 150 //aqui se especifican la cantidad de segundos que se desean hacer cuenta regresiva 
var futuro1 = (Math.floor(new Date()/1000))+ tiempo; 
function faltan(){ 
var actual=Math.floor(new Date()/1000); 
futuro=futuro1-actual; //obtengo diferencia 
if (futuro > 0) { 
horas_dec=((futuro/60)/60); 
horas=Math.floor(horas_dec); 
minutos=horas_dec - horas; 
minutos_dec=minutos*60; 
minutos=Math.floor(minutos_dec); 
segundos=minutos_dec - minutos; 
segundos=Math.floor(segundos*60); 
document.formulario.reloj.value = horas + ":" + minutos + ":" + segundos; //muestro el resultado 
}else{ 
document.testfinal.submit();
} 
setTimeout("faltan()",100);
} 
</script> 
Despues de este script obviamente va el formulario de nombre testfinal....

Saludos
  #2 (permalink)  
Antiguo 18/05/2009, 14:12
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Pregunta Respuesta: Me actualiza no envie el form

bueno, no se con cuantos estas trabajando, al parecer 2: formulario y testfinal, mira, en mi caso modifique tu code para trabajar con solo uno.

Código HTML:
<script type="text/javascript" language="JavaScript"> 
	var tiempo = 4 //aqui se especifican la cantidad de segundos que se desean hacer cuenta regresiva 
	var futuro1 = (Math.floor(new Date()/1000))+ tiempo; 
	function faltan(){ 
		var actual=Math.floor(new Date()/1000); 
		futuro=futuro1-actual; //obtengo diferencia 
		if (futuro > 0) { 
			horas_dec=((futuro/60)/60); 
			horas=Math.floor(horas_dec); 
			minutos=horas_dec - horas; 
			minutos_dec=minutos*60; 
			minutos=Math.floor(minutos_dec); 
			segundos=minutos_dec - minutos; 
			segundos=Math.floor(segundos*60); 
			document.formulario.reloj.value = horas + ":" + minutos + ":" + segundos; //muestro el resultado <br>
			setTimeout("faltan()",1000);
		}else{
			alert("el formulario se enviara");
			document.formulario.submit();
		} 
	} 
</script>
<form id="formulario" name="formulario" action="envia.php" method="post">
    <input type="text" id="reloj" name="reloj">
    <input type="button" onClick="faltan();">
</form> 
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #3 (permalink)  
Antiguo 18/05/2009, 14:57
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Me actualiza no envie el form

Gracias...

Pero mi problema con lo que me pasaste es que me da un error el script...

Esto mismo yo lo coloc en una entrada de WordPress.... ya que es un test dentro de un blog que estoy armando...

Y me da error en la pagina...

No le encuentro la vuelta...

Otra cosa, (Tenes idea de como detectar si actualizan la pagina, para que si lo hacen vayan a otro lado y no se actualice el reloj...)

gracias por las respuestas
  #4 (permalink)  
Antiguo 18/05/2009, 15:20
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Pregunta Respuesta: Me actualiza no envie el form

mmm, tal vez estemos enviando el formulario incorrecto, probaste usando el otro formulario modificando la linea:

Código:
document.formulario.submit();
por

Código:
document.testfinal.submit();
en caso no lo soluciones que error te da? en que liena? muestra la linea, suerte!!!
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #5 (permalink)  
Antiguo 18/05/2009, 15:26
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: Me actualiza no envie el form

no no... ya probe eso... pero esta todo bien...

Es como si wordpress no me tomara correctamente las cosas...

El problema fue el setTimeOut().... lo puse donde estaba en el script orginal y funciona.. pero sigo teniendo el problema que si se tarde en enviar el formulario me empieza a hacer un bucle...

Soluciones??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:12.