Foros del Web » Programando para Internet » Javascript »

OnSubmit

Estas en el tema de OnSubmit en el foro de Javascript en Foros del Web. Hola gente, cuando uso onsubmit en un formulario, este se ejecuta antes o después de que se envie el formulario ??? O sea si le ...
  #1 (permalink)  
Antiguo 27/03/2005, 16:09
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
OnSubmit

Hola gente, cuando uso onsubmit en un formulario, este se ejecuta antes o después de que se envie el formulario ???

O sea si le coloco la validación en onsubmit y le mando un return false el formulario se envia o no ?

Saludos
PD: Es que lo tengo que probar en tiempo real en un sitio y no quiero modificar la base de datos ya que el sistema ya está funcionando...
__________________
Esteban Quintana
  #2 (permalink)  
Antiguo 27/03/2005, 16:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola monoswim:

Se ejecuta antes, ya que desde ese evento se puede cancelar el submit (después del envío no podría cancelarse), y justamente tiene su utilidad por las validaciones.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 27/03/2005, 17:49
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Gracias amigo, yo hasta ahora estube usando botones comunes (button) y con onckick le mando a la función de validar desde donde envio el formulario si está todo ok...

Me parece más seguro de esa forma ya que el formulario no se envia si no tienes js...

Iguamnente hice este post porque en este caso que tengo ahora necesito que si o si sea con onsubmit...

Gracias amigo !!!!!!!

Saludos
__________________
Esteban Quintana
  #4 (permalink)  
Antiguo 12/04/2005, 10:10
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola!

Mi problema es similar al de monoswim, pero con la salvedad de que yo tengo sólo un campo de texto y éste, al poner el valor y darle a enter, me hace el submit sin que yo le haya dado al botón de enviar.

Probé esto:

function comprobar()
{
if (document.frmFormulario.txtCaja.value!="")
{
document.frmFormulario.submit();
}
else
{
alert ("Error. Escriba el código.");
return false;
}
}

y en el formulario:

...onSubmit="comprobar();"...

Pero no me va, me da el mensaje, pero luego me hace el submit.

Alguien me echa una mano?

Gracias de antemano!!
  #5 (permalink)  
Antiguo 12/04/2005, 10:48
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Christatos

En el formulario tienes que poner...

<form onsubmit="return comprobar()"...

y también creo que puedes simplificar un poco la función:

function comprobar()
{
if (document.frmFormulario.txtCaja.value=="")
{
alert ("Error. Escriba el código.");
return false;
}
}

Saludos,
  #6 (permalink)  
Antiguo 12/04/2005, 11:00
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola, JavierB!!

Efectivamente, esa es una opción, de hecho funciona al pelo!! Gracias!!

También probé a llamar a la función así:
onsubmit="comprobar(); return false;"

y, curiosamente (digo curiosamente, por ignorancia, pues símplemente probé...), funcionó!!

Es normal, no?

Gracias!! Un saludo!!!!
  #7 (permalink)  
Antiguo 12/04/2005, 12:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Christatos: Si pones return false en el evento onsubmit de un formulario, no se va a enviar nunca, y no tendría sentido su uso.

Lo que creo más aconsejable es usar una función de validación que "si pasa el corte" se envíe (return true) y si no lo pasa se cancele (return false)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 13/04/2005, 01:02
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 20 años, 9 meses
Puntos: 0
Ok, muuuchas gracias!
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 04:39.