Foros del Web » Programando para Internet » Javascript »

Problema Evento onSubmit

Estas en el tema de Problema Evento onSubmit en el foro de Javascript en Foros del Web. Hola, tengo un formulario con 2 botones y un js para que ejecute una acción según el botón pulsado (los botones son 2 submit diferentes). ...
  #1 (permalink)  
Antiguo 23/10/2007, 03:08
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 20 años, 4 meses
Puntos: 0
Problema Evento onSubmit

Hola, tengo un formulario con 2 botones y un js para que ejecute una acción según el botón pulsado (los botones son 2 submit diferentes).

Los botones los tengo definidos así:

Código PHP:
<input type='button' onClick=enviar_a('./index.php'name='volver' value='Volver'/>
<
input type='button' onClick=enviar_a('./index.php?metodo=abrir_sesion'name='confirmar' value='Entrar'/> 
y la etiqueta que define el form así
Código PHP:
<form name='form' method='post' /> 
Para manejarlo uso el siguiente JS que incluyo en el fichero.
Código PHP:
function enviar_a(url){
    
document.form.action url;
    
document.form.submit();
 } 
El problema es que quiero hacer una comprobación para ver si los campos del formulario están completados adecuadamente y quiero capturar el evento onSubmit, para cualquiera de los 2 botones. Entonces llamo a una función "validar" que tengo en otro JS incluido en la pagina.

Código PHP:
<form name='form' method='post' onSubmit='validar();'/> 
Pero no detecta el evento. Quiero que la captura esté en la etiqueta <form> puesto que el codigo de los botones lo voy a reutilizar.

¿Puedo ponerlo ahí o tiene que ir en otro lado? ¿Alguien me da una solución?

Muchas gracias a todos.
__________________
Uno para todos y todos para uno
  #2 (permalink)  
Antiguo 23/10/2007, 04:25
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Re: Problema Evento onSubmit

Se me ocurre que los botones de submit sean:

<input type='submit' onClick=enviar_a('./index.php') name='volver' value='Volver'/>
<input type='submit' onClick=enviar_a('./index.php?metodo=abrir_sesion') name='confirmar' value='Entrar'/>

La function sea así:

function enviar_a(url){
document.form.action = url;
}

Y la etiqueta form sea como la tenías:

<form name='form' method='post' onSubmit='validar();'>

(pero sin la barra al final!).

Dime qué tal te fue!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 23/10/2007, 05:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema Evento onSubmit

Hola:

Usando los botones submit no es necesario usar el método del mismo nombre... en los onclicks de esos botones solo cambiaría la url del action... ahora en las validaciones, el esquema de una validación correcta es onsubmit="return validar(this)"; es importante poner la palabra return... el poner this en la función validadora aunque no sea tan importante, es aconsejable Para las referencias en la validación, y esa función validadora debe devolver false cuando no la pase.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 25/10/2007, 04:20
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Problema Evento onSubmit

Gracias a los 2 por responder. Lo de la barra, que me comentaste KarlanKas no influía, el problema era la palabra "return". He seguido el consejo de Caricatos y funciona perfectamente.

Muchas gracias.
__________________
Uno para todos y todos para uno
  #5 (permalink)  
Antiguo 25/10/2007, 04:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Re: Problema Evento onSubmit

Bueno, lo de la barra no era el grueso de mi explicación, simplemente era un detalle. Pero bueno. Me alegro de que el gran caricatos te resolviera el problema!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 18:35.