Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP no recoge los datos tras enviar formulario por javascript

Estas en el tema de PHP no recoge los datos tras enviar formulario por javascript en el foro de PHP en Foros del Web. Lo que hice, o intento hacer es que al terminar la cuenta regresiva, se envíe el formulario y se muestre en otra página. En este ...
  #1 (permalink)  
Antiguo 09/08/2013, 14:35
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 11 años, 8 meses
Puntos: 0
Exclamación PHP no recoge los datos tras enviar formulario por javascript

Lo que hice, o intento hacer es que al terminar la cuenta regresiva, se envíe el formulario y se muestre en otra página. En este formulario existen dos maneras para subir el formulario, uno es picarle manualmente el boton de enviar(php si recoge los datos), y el otro es esperar 40 segundos para que se envíe(php no recoge los datos aquí el problema), el problema es que php no recoge los datos tras enviar el formulario al haber esperado los 40 segundos. Aquí el código, necesito de su ayuda....

Este es el archivo donde está el formulario:
Código HTML:
Ver original
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento sin título</title>
  4. </head>
  5.  
  6. <form name="contestarexamen" action="java2.php" method="post">
  7. <input type="text" name="prueba">
  8. <input type="text" name="redirect2">
  9. </form>
  10. <script type="text/javascript">
  11. var countdownfrom=40 //tiempo en segundos de la cuenta atrás
  12. var currentsecond=document.contestarexamen.redirect2.value=countdownfrom+1
  13. function countredirect(){
  14. if (currentsecond!=1){
  15. currentsecond-=1
  16. document.contestarexamen.redirect2.value=currentsecond
  17. }
  18. else{
  19. document.forms["contestarexamen"].submit()
  20. return
  21. }
  22. setTimeout("countredirect()",1000)
  23. }
  24. countredirect()
  25. //-->
  26.  
  27. </body>
  28. </html>

Este es el archivo donde PHP recoge los datos(pero si javascript los sube tras haber esperado 40 segundos, no se mostrará el resultado,aquí el problema)
Código PHP:
Ver original
  1. <?
  2. if($_POST['enviar']){
  3.     echo "$_POST[prueba]";
  4. }
  5. ?>
  6. </html>
  #2 (permalink)  
Antiguo 09/08/2013, 14:43
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: PHP no recoge los datos tras enviar formulario por javascript

hola, tienes errores de sintaxis en tu codigo js; usa algun editor de codigo o con firefox abre la Web Console para que ves los errores.
  #3 (permalink)  
Antiguo 09/08/2013, 14:45
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: PHP no recoge los datos tras enviar formulario por javascript

Cita:
Iniciado por Erick_MD9 Ver Mensaje
hola, tienes errores de sintaxis en tu codigo js; usa algun editor de codigo o con firefox abre la Web Console para que ves los errores.
Lamentablemente no tengo firefox, si me podrías decir en qué está mal mi código? Porfavor
En qué estoy mal? mi contador si funciona, lo que no me funciona es la función submit()
  #4 (permalink)  
Antiguo 09/08/2013, 14:54
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: PHP no recoge los datos tras enviar formulario por javascript

Ya lo solucioné :D, cambié la función submit por esta:
document.getElementById('enviar').click()

Lo que va hacer es que le va a dar click al botón enviar, y de esa manera me funciona bien :D
  #5 (permalink)  
Antiguo 09/08/2013, 15:00
 
Fecha de Ingreso: agosto-2013
Mensajes: 1
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: PHP no recoge los datos tras enviar formulario por javascript

Hola, mira una manera es colocando un campo oculto llamado 'enviar', el cual en la pagina que envias el formulario verifique y reciba los datos...
otra cosa no lleva comilla doble como lo tienes, debe ser de este modo para mostrar el valor
Código PHP:
Ver original
  1. echo $_POST['prueba'];

Etiquetas: formulario, java
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 14:36.