Foros del Web » Programando para Internet » Javascript »

Dos eventos javascript en botón submit

Estas en el tema de Dos eventos javascript en botón submit en el foro de Javascript en Foros del Web. Hola, tengo un formulario y quiero que me valide dos cosas. Para ello pongo en el botón submit un evento onClick. El tema es que ...
  #1 (permalink)  
Antiguo 22/08/2010, 09:05
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Dos eventos javascript en botón submit

Hola, tengo un formulario y quiero que me valide dos cosas. Para ello pongo en el botón submit un evento onClick. El tema es que quiero que sean dos eventos. Ambos deben ir con return nombrevento.

Los separo con punto y coma y nada, no me va...

salu2
  #2 (permalink)  
Antiguo 22/08/2010, 09:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 13 años, 11 meses
Puntos: 1532
Respuesta: Dos eventos javascript en botón submit

return interrumpe la ejecución para devolver el resultado, por eso el segundo return nunca se ejecutará, lo que necesitas es capturar el evento onsubmit del form, lo que te permite controlar la validación del formulario más efectivamente, si a éste se le devuelve false, el formulario no se envía
  #3 (permalink)  
Antiguo 22/08/2010, 09:59
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Respuesta: Dos eventos javascript en botón submit

ok, y eso cómo se hace?
  #4 (permalink)  
Antiguo 22/08/2010, 10:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años, 2 meses
Puntos: 1485
Respuesta: Dos eventos javascript en botón submit

nada tan complicado, simplemente registrar el evento onsubmit en el elemento <form>. dentro del evento vas a invocar tus funciones. ahora bien, aunque tecnicamente no genera error tener mas de un return, el handler detiene la ejecuccion en el primer return que encuentre. supongo que la idea de que ambas funciones sean devueltas es porque tienes dos procesos de validacion distintos y dependiendo lo que devuelva uno u otro se cancela el evento o continua. asumiendo que ambas funciones devuelven un boolean lo que puedes hacer es invocar ambas funciones y de por medio usas el operador &&. el resultado es que el formulario se envia solo si ambas funciones devuelven true.
Código:
onsubmit="return funcion1() && funcion2()"
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 23/08/2010, 04:43
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Respuesta: Dos eventos javascript en botón submit

ok, aunque realmente lo que necesito es que en el form submit me lance el AJAX para grabar en la base de datos pero antes me controle que el valor introducido en un campo, sea SÓLO numérico. El campo está en un INPUT.
El problema es que no va bien el onchange, quiero decir en el IE funciona pero en el Chrome por ejemplo no.
He estado mirando algunos post. Uno de ellos Caricatos dice:

____________
Hola:

Sobre onchange en textos... lo correcto sería que se activase con las modificaciones... y en algunos navegadores funciona, pero no en todos... y por esa razón hay que hacer "piruetas"...

tunait: Lo que comentas estaría contemplado con onblur (¡tal vez!)

La verdad es que las teclas se detectan con onkeyXXX y los eventos del teclado con onmouseXXX... pero los cambios deben controlarse (aunque no esté bien implementado en algunos navegadores) con onchange, al igual que los focos se controlen con onblur/onfocus...

Dicho esto, lo mejor es (en mi humilde opinión) complementar onchange con onblur, o con onkeyup...
_________________

vale, habría que compaginar onchange con onblur, cómo se podría hacer? 2 eventos en 1? cómo?
  #6 (permalink)  
Antiguo 23/08/2010, 05:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 15 años, 5 meses
Puntos: 126
Respuesta: Dos eventos javascript en botón submit

Hola

Eso es lo que deberías de haber explicado desde un principio. Tal y como yo lo veo no necesitas dos funciones. En la función que lanza el AJAX puedes evaluar ese campo. Si todo ha ido bien, continua con el proceso, si devuelve false, no continua con el proceso

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 23/08/2010, 05:07
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Respuesta: Dos eventos javascript en botón submit

sí, es una forma de hacerlo, pero prefiero que antes de ir al AJAX a grabar en la base de datos, me salga el mensaje de error de javascript diciendo que no es numérico el campo...
  #8 (permalink)  
Antiguo 23/08/2010, 05:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 15 años, 5 meses
Puntos: 126
Respuesta: Dos eventos javascript en botón submit

Hola

Cita:
Iniciado por humanista Ver Mensaje
sí, es una forma de hacerlo, pero prefiero que antes de ir al AJAX a grabar en la base de datos, me salga el mensaje de error de javascript diciendo que no es numérico el campo...
Y ¿en qué contradice eso a lo que te indico? Sumitas el formulario, evalúas el campo, si es correcto continuas con el proceso, de lo contrarío muestras el aviso y detienes el proceso

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 23/08/2010, 05:24
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Respuesta: Dos eventos javascript en botón submit

ah cierto, disculpa, si entiendo bien, la cosa es validar dentro del AJAX y si no es correcto hacer return false, no?
  #10 (permalink)  
Antiguo 23/08/2010, 05:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 15 años, 5 meses
Puntos: 126
Respuesta: Dos eventos javascript en botón submit

Hola

Cita:
Iniciado por humanista Ver Mensaje
ah cierto, disculpa, si entiendo bien, la cosa es validar dentro del AJAX y si no es correcto hacer return false, no?
Ese es el punto

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 23/08/2010, 13:30
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 17 años, 2 meses
Puntos: 15
Respuesta: Dos eventos javascript en botón submit

buena idea Adler, me funcionó a la perfección

Etiquetas: dos, eventos, 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 16:26.