Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario en ventana emergente. Submit y cierre

Estas en el tema de Formulario en ventana emergente. Submit y cierre en el foro de Frameworks JS en Foros del Web. Hola, Tengo un formulario en un iframe en una ventana fancybox y lo que quiero es que al pulsar el botón para enviar el formulario, ...
  #1 (permalink)  
Antiguo 28/07/2012, 05:19
 
Fecha de Ingreso: abril-2007
Mensajes: 51
Antigüedad: 17 años
Puntos: 1
Formulario en ventana emergente. Submit y cierre

Hola,

Tengo un formulario en un iframe en una ventana fancybox y lo que quiero es que al pulsar el botón para enviar el formulario, que está dentro de la ventana, se envíe y se cierre la venta fancybox. Esto lo consigo haciendo,

$('#myForm').bind('submit', function(){
parent.$.fancybox.close();
});

de forma que al pulsar el botón se envía el formulario y después se cierra la ventana fancybox.

Antes de enviar el formulario, quiero procesar algunos campos con una función javascript para comprobar que tienen un determinado formato. Lo que hago es que el botón que envía el formulario sea de tipo "button" y llama a una función para validar el formulario. Dentro de esta función, si los campos son correctos se envía el formualrio. La función sería como,

function validarFormulario() {
//Comprobaciones...

document.forms['myForm'].submit();
}

El problema está en que de esta forma, se envía el formulario, pero no se cierra la ventana modal. Es como si el evento "submit" de la función "validarFormulario" no fuera reconocido por el "bind".

¿Se os ocurre dónde puede estar el error o alguna solución?

Gracias por la ayuda!!
  #2 (permalink)  
Antiguo 28/07/2012, 07:17
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Formulario en ventana emergente. Submit y cierre

no trabajo con fancybox, pero no sería más práctico esto

Código HTML:
Ver original
  1. <form action="x.php" method="post" onsubmit="return validarFormulario()">
  2. /// campos del form
  3. <input type="submit" name="procesar">
  4. </form>


Y el javascript (simplifico las validaciones)
Código Javascript:
Ver original
  1. function validarFormulario() {
  2.  //Comprobaciones...
  3. if(nombre == ''){
  4. alert('falta nombre');
  5. return false; // detenemos el proceso de envio y cierre
  6. }
  7.  
  8. if(apellido== ''){
  9. alert('falta apellido');
  10. return false; // detenemos el proceso de envio y cierre
  11. }
  12.  
  13. //comprobaciones
  14.  
  15. fancybox.close(); // no hubo errores, cerramos fancybox y el form se envía (recordá que usaste el evento onsubmit)
  16.  }

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 28/07/2012 a las 10:35
  #3 (permalink)  
Antiguo 28/07/2012, 10:13
 
Fecha de Ingreso: abril-2007
Mensajes: 51
Antigüedad: 17 años
Puntos: 1
Respuesta: Formulario en ventana emergente. Submit y cierre

Hola,

Muchas gracias!! Es justo lo que estaba buscando. Funciona perfectamente.

Gracias!! :D

Etiquetas: cierre, emergente, formulario, submit, ventanas
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 23:45.