Foros del Web » Programando para Internet » Javascript »

Problema Submit de PHP con JavaScript

Estas en el tema de Problema Submit de PHP con JavaScript en el foro de Javascript en Foros del Web. Tengo un problema que al validar un formulario con JavaScript, me indica los errores de lformulario, pero en lugar de mantenerse en la página para ...
  #1 (permalink)  
Antiguo 11/04/2012, 04:52
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Problema Submit de PHP con JavaScript

Tengo un problema que al validar un formulario con JavaScript, me indica los errores de lformulario, pero en lugar de mantenerse en la página para corregir errores, salta a la página que está en el action del formulario.

Pego el código.

Código:
function comprueba()
{
	var fecha=/^([0]?[1-9]|[1-2][0-9]|[3][0-1])-([0]?[1-9]|[1][0-2])-\d{4}$/;
	var hora=/^([0?]9:[0-5][0-9]|1[0-9]:[0-5][0-9]|20:[0-5][0-9]|21:00)$/;
				
if(!fecha.test(document.getElementById("fechaSolicitada").value))
	{
		alert("Debes escribir unha data de solicitude correcta (dd-mm-aaaa)");
		document.f.fechaSolicitada.focus();
		return false; 
	}
				if(!hora.test(document.getElementById("horaSolicitada").value))
	{
		alert("Debes escribir unha hora de solicitude correcta (hh:mm)");
		document.f.horaSolicitada.focus();
		return false;
	}
if (!fecha.test(document.getElementById("fechaDevolucion").value))
	{ 
	        alert("Debes escribir unha data de devolución correcta (dd-mm-aaaa)");
		document.f.fechaDevolucion.focus();
		return false; 
        }
				if(!hora.test(document.getElementById("horaDevolucion").value))
	{
		alert("Debes escribir unha hora de devolución correcta (hh:mm)");
		document.f.horaDevolucion.focus();
		return false;
	}
return true;
}
Código PHP:
<form name="f" action="insertar_prestamos.php" method="post" onSubmit="return comprueba();">
                        <
label>DATA SOLICITADA</label><img src="jpg/interrogacion.jpg" title="FORMATO[DD-MM-AAAA]" width="15" height="15"/>
                        <
input type="text" id="fechaSolicitada" name="fechaSolicitada" size="15">
                        <
label>HORA SOLICITADA</label><img src="jpg/interrogacion.jpg" title="FORMATO[HH:MM]" width="15" height="15"/>
                        <
input type="text" id="horaSolicitada" name="horaSolicitada" size="15"><br/>
                        <
label>DATA DEVOLUCIÓN</label><img src="jpg/interrogacion.jpg" title="FORMATO[DD-MM-AAAA]" width="15" height="15"/>
                        <
input type="text" id="fechaDevolucion" name="fechaDevolucion" size="15">
                        <
label>HORA DEVOLUCIÓN</label><img src="jpg/interrogacion.jpg" title="FORMATO[HH:MM]" width="15" height="15"/>
                        <
input type="text" id="horaDevolucion" name="horaDevolucion" size="15">
                        <
input type="submit" value="Filtrar" name="enviar">
                    </
form
Gracias por la ayuda, a ver sin ven el error :)
  #2 (permalink)  
Antiguo 11/04/2012, 05:11
 
Fecha de Ingreso: julio-2011
Mensajes: 83
Antigüedad: 12 años, 9 meses
Puntos: 24
Respuesta: Problema Submit de PHP con JavaScript

El objeto event (relativo al evento que dispara la función) tiene un método:

Código Javascript:
Ver original
  1. event.preventDefault();

Lo que hace es prevenir que se realicen las acciones por defecto del navegador. Estas acciones son numerosas, según el tipo de evento. Y concretamente, en este, en algún punto del código envía el formulario. al principio de la función coloca esta línea.

Para activar manualmente el envío del formulario, utiliza el método submit() cuando lo desees.

Un saludo.
  #3 (permalink)  
Antiguo 11/04/2012, 05:50
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema Submit de PHP con JavaScript

He probado con eso, pero sigue sin funcionarme y es más, ahora ya no me comprueba nada y entra directamente en la página sin validar :(

PD: Ya encontré la solución, el problema estaba en las llamadas a hacer foco, buscar los input por name en lugar de por id. Buscando por ID va correctamente, gracias :)

Última edición por Breixo5; 11/04/2012 a las 06:11

Etiquetas: formulario, input, php, submit
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:22.