Ver Mensaje Individual
  #12 (permalink)  
Antiguo 29/07/2014, 23:01
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Temporizador de 30 minutos para enviar datos de un formulario

¿Qué no habías solucionado eso y solo te faltaba el tema de que se ejecutaba el envío faltando 1 segundo?

Así es como debería de quedar el script:

Código Javascript:
Ver original
  1. var salida = document.getElementById("tiempo"),
  2.     minutos = 30,
  3.     segundos = 0,
  4.     intervalo = setInterval(function(){
  5.         if (--segundos < 0){
  6.             segundos = 59;
  7.             minutos--;
  8.         }
  9.  
  10.         salida.innerHTML = minutos + ":" + (segundos < 10 ? "0" + segundos : segundos);
  11.      
  12.         if (!minutos && !segundos){
  13.             clearInterval(intervalo);
  14.             document.getElementById("test").submit();
  15.         }
  16.     }, 1000);

Si no se realiza el envío, probablemente sea porque no estás tomando correctamente al formulario. Recuerda que el id del mismo debe de tener como valor a la palabra 'test'; si el atributo name es el que posee a dicho valor, entonces deberás tomarlo con el método getElementsByName y especificando al final el número de elemento, es decir:

Código Javascript:
Ver original
  1. document.getElementsByName("test")[0].submit();

Ojo, lo anterior es válido solo si el valor del atributo name es igual a 'test', pero si el que posee a dicho valor es el atributo id, entonces así como está debería de funcionar.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand