Programación Web y Scripting > JavaScript
envio de formuarios
andres69:
hola!!!!
Tengo un formulario en html y ese formulario s mando a un archivo php por medio de un botomn y lo que quiero es que esos datos se envien actomaticamente como en una especie de reloj que valla mostrando el tiempo que queda y cuando este este en cero se envie el formularios
Gracias!!!!
goldenscriptup:
Respecto a tu necesidad te desarrolle este ejemplo :comp: , espero que te sea de utilidad.
Lee los comentarios que te anote en el codigo, ahi explica el funcionamiento. ^_^
--- Código: Text ---<body> <form method="post" action="datos.php" name="formulario"> Nombre:<br> <input type="text" name="nom"><br> Oficio:<br> <input type="text" name = "oficio"><br> <!--Notese que el TYPE es BUTTON no submit y se agrega el EVENTO onClick y manda a llamar una funcion de javascript--> <input type="button" name="enviar" value= "Enviar respuestas" onClick="javascript: enviarinfo();"></form> <p>Tienes 7 segundos para contestar</p><!--Mostrara los segundos que van transcurriendo--><p> </p> </body> <script language="javascript"> /*Inicializamos los segundos que tardara en enviarse el formulario. NOTA: Los numeros estan en milisegundos */ var numsegundosenviar = 8000; //Con esta variable llevaremos el control de los segundos que van transcurriendo num = 1 function mostrarsegundos(){ //Muestra los segundos en la etiqueta <p> </p> que esta vacia en el body. var nuevoP = document.createElement("p"); var texto = document.createTextNode("Segundos: "+ num); nuevoP.appendChild(texto); /*Obtiene la segunda etiqueta <p> por que es un arreglo que va de 0 a n... numeros La etiqueta <p>Tienes 7 segundos para contestar</p> le corresponde el 0 y a la etiqueta vacia le corresponde el 1*/ var anteriorP = document.body.getElementsByTagName("p")[1]; anteriorP.parentNode.replaceChild(nuevoP, anteriorP); num = num + 1; } function enviarinfo(){ //Enviar el formulario document.formulario.submit(); } //Esta funcion envia el formulario, solo se ejecuta una vez con el setTimeout setTimeout(enviarinfo, numsegundosenviar); //Esta funcion al contrario de setTimeout se ejecuta consecutivamente. setInterval(mostrarsegundos,1000);</script>
Saludos! :good:
andres69:
muchas hgracias GoldenScripUp es justamente lo que esta ba buscando muchsisimas gracaias
muy bue ejemplo, funciona a la perfection!
mil gracias!!
:beer: :good: :jumpie: :gracias:
andres69:
oye brother, esta muy bien tu ejemplo!!!
Ahora lo que pasa es que lo intente hacer por separado. Quiero decir que el codigo en javascript lo puse en un archivo js y en el html lo mande atraer ese archivo, pero no salio nada, no funciono. Puede ser a que algo pase por alto o que onda?
Espero que me puedas ayudar tambien en eso ok
mil gracias nuevamente!!!!
goldenscriptup:
Cree un archivo llamado procesar.js en el cual pegue todo el codigo JavaScript
--- Código: Text ---// JavaScript Document/*Inicializamos los segundos que tardara en enviarse el formulario. NOTA: Los numeros estan en milisegundos */ var numsegundosenviar = 8000; //Con esta variable llevaremos el control de los segundos que van transcurriendo num = 1 function mostrarsegundos(){ //Muestra los segundos en la etiqueta <p> </p> que esta vacia en el body. var nuevoP = document.createElement("p"); var texto = document.createTextNode("Segundos: "+ num); nuevoP.appendChild(texto); /*Obtiene la segunda etiqueta <p> por que es un arreglo que va de 0 a n... numeros La etiqueta <p>Tienes 7 segundos para contestar</p> le corresponde el 0 y a la etiqueta vacia le corresponde el 1*/ var anteriorP = document.body.getElementsByTagName("p")[1]; anteriorP.parentNode.replaceChild(nuevoP, anteriorP); num = num + 1; } function enviarinfo(){ //Enviar el formulario document.formulario.submit(); } //Esta funcion envia el formulario, solo se ejecuta una vez con el setTimeout setTimeout(enviarinfo, numsegundosenviar); //Esta funcion al contrario de setTimeout se ejecuta consecutivamente. setInterval(mostrarsegundos,1000);
El documento Html quedo asi. En la etiqueta <HEAD> </HEAD> mando a llamar el archivo JS.
--- Código: Text --- <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Enviar formulario automaticamente</title><script type="text/javascript" src="procesar.js"></script></head> <body> <form method="post" action="datos.php" name="formulario"> Nombre:<br> <input type="text" name="nom"><br> Oficio:<br> <input type="text" name = "oficio"><br> <!--Notese que el TYPE es BUTTON no submit y se agrega el EVENTO onClick y manda a llamar una funcion de javascript--> <input type="button" name="enviar" value= "Enviar respuestas" onClick="javascript: enviarinfo();"></form> <p>Tienes 7 segundos para contestar</p><!--Mostrara los segundos que van transcurriendo--><p> </p> </body> </html>
Lo probe en dos navegadores diferentes y funciona bien este codigo con el archivo separado. Correlo asi como esta para que lo pruebes.
Recuerda si agregas mas etiquetas <p></p> en el documento Html donde esta el form tienes que cambiar el index en el codigo JavaScript, recuerda que es un arreglo de etiquetas <p></p> y se cuentan de arriba a abajo empezando del 0,1,2... a "n" etiquetas para que te muestre los segundos en el documento.
Recuerda que esta variable "var numsegundosenviar = 8000" tenga un valor.
Si llegas a tener un problema espeficica el navegador que usas y si puedes mostrar el codigo del JS mejor para revisarlo. :)
Saludos! :good:
Navegación
[#] Página Siguiente
Ir a la versión completa