Foros del Web » Programando para Internet » Javascript »

Validación Formulario

Estas en el tema de Validación Formulario en el foro de Javascript en Foros del Web. A quien corresponda: ¿Es posible llamar a dos funciones desde el "onsubmit" de un formulario? estoy trabajando con asp y javascript....mi codigo es el sgte: ...
  #1 (permalink)  
Antiguo 11/08/2008, 09:06
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Busqueda Validación Formulario

A quien corresponda:

¿Es posible llamar a dos funciones desde el "onsubmit" de un formulario? estoy trabajando con asp y javascript....mi codigo es el sgte:

<form name="form" method="post" action="reserva.asp" onSubmit="javascript:return Rut(document.form.rut.value)"> y me gustaría llamar a otra función desde ak....es posible??? alguien sabe como???? es tan simple como agregar un "&"????

POr favor ayudenme!!!!

De antemano muchas gracias....

Saludos

Karla
  #2 (permalink)  
Antiguo 11/08/2008, 09:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Validación Formulario

Agrega un ';' (separador de instrucciones) y luego coloca la segunda función.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/08/2008, 09:17
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

así????????:

<form name="form" method="post" action="reserva.asp" onSubmit="javascript:return Rut(document.form.rut.value); Validar(this.form)">....tampoco funca!!!:(
  #4 (permalink)  
Antiguo 11/08/2008, 09:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Validación Formulario

¿Cuál es el error que da?

P.S.: "javascript:" es redundante, no es necesario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 11/08/2008, 09:25
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

No da error...simplemente no hace nada...no pesca la segunda funcion....solo realiza la primera...
  #6 (permalink)  
Antiguo 11/08/2008, 09:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Validación Formulario

Ya veo, es que estás poniendo return. En ese caso debes ejecutar primero la segunda función. Pero si ambas son de validación recomiendo que pongas dentro de la misma función.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 11/08/2008, 09:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validación Formulario

Hola:

Al poner return, aparte de devolver la condición de validación (false => cancelación), fuerzas la devolución del control a la página y se deja de hacer todo lo demás, así que el return siempre debe ir último...

Las posibilidades son invertir el orden de llamadas, o, si no te sirve, guardar en una variable temporal el resultado de la primera validación para devolverlo al manejador de eventos "onsubmit().

onSubmit="salida = return Rut(document.form.rut.value); Validar(this.form); return salida">

... pero si ambas funciones devuelven valores lógicos y sirven en la validación, deverías hacer la operación lógica AND con ambas...

onSubmit="salida = return (Rut(document.form.rut.value) && Validar(this.form))">

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 11/08/2008, 09:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Validación Formulario

Jaja, definitivamente necesitamos un semáforo en el foro de Javascript. .

Sí, la mejor opción es poner el AND (&&) como te comentó caricatos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 11/08/2008, 09:34
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

onSubmit="return Rut(document.form.rut.value)&&Validar(this.form)"> .......tampoco pesca :((((
  #10 (permalink)  
Antiguo 11/08/2008, 09:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Validación Formulario

Para sacarnos de dudas, ¿cuál es el código de las dos funciones? ¿Están retornando los boolean correctamente?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 11/08/2008, 09:42
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

creo que el problema esta dentro de la segunda función....espero que sea eso!!!!!
  #12 (permalink)  
Antiguo 11/08/2008, 09:45
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

Cita:
<script LANGUAGE="JavaScript">

function Validar(form)
{
if (form.Nombre.value == "")
{ alert("Por favor ingrese su nombre"); form.Nombre.focus(); return; }

if (form.email.value == "")
{ alert("Por favor ingrese su dirección de e-mail"); form.email.focus(); return; }

if (form.telefono.value == "")
{ alert("Por favor ingrese su número de teléfono"); form.telefono.focus(); return; }

if (form.cantidad.value == "")
{ alert("Por favor ingrese la cantidad de entradas"); form.cantidad.focus(); return; }

if (form.ubicacion.value == "")
{ alert("Por favor ingrese ubicación"); form.ubicacion.focus(); return; }

if (form.edad.value == "")
{ alert("Por favor ingrese su edad"); form.edad.focus(); return; }

if (form.email.value.indexOf('@', 0) == -1 ||
form.email.value.indexOf('.', 0) == -1)
{ alert("Dirección de e-mail inválida"); form.email.focus(); return; }

//form.submit();
}

</script>
Este es el codigo de la segunda funcion....el form.submit lo tengo en comentario porque inicialmente el codigo funcionaba con un boton....pero no se porq nunca mas me funcionaon los botones....
  #13 (permalink)  
Antiguo 11/08/2008, 09:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validación Formulario

Cita:
Iniciado por David el Grande Ver Mensaje
Jaja, definitivamente necesitamos un semáforo en el foro de Javascript. .
...
Sip, pero no hay presupuesto para obras de señalización

Cita:
Iniciado por kvera Ver Mensaje
onSubmit="return Rut(document.form.rut.value)&&Validar(this.form)"> .......tampoco pesca :((((
kvera: fíjate que en el código que puse, ambos validadores se supone que devuelven valores lógicos... asegúrate que sea así el caso, y controla también los paréntesis, porque el return debe devolver la operación lógica de ambas validaciones... si no fuese el caso, corríjelo o pon el orden distinto, o usa el primero de mis códigos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #14 (permalink)  
Antiguo 11/08/2008, 09:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Validación Formulario

Reemplaza todos los return por return false.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 11/08/2008, 09:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validación Formulario

Hola:

¡si, si...! tenemos que poner semáforos...

Bueno, iba a poner lo que puso David el Grande..., y para mejorar el código (aunque no sea necesario, pero ayudará en la legibilidad en el futuro, cambia el comentario del submit, por return true, ya que indicaría que pasa la validación (creo que es una buena costumbre)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 11/08/2008, 09:56
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Validación Formulario

No hace nada...estoy probando la segunda funcion sola y no hace nada ...creo que el problema esta ahí....voy a cambiar el codigo.....muchisimas gracias estimados por su tiempo y dedicación...

Karla Vera M.
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 19:53.