Foros del Web » Programando para Internet » Javascript »

onClick funciona pero onKeypress no

Estas en el tema de onClick funciona pero onKeypress no en el foro de Javascript en Foros del Web. Hola muy buenas. Tengo una sencilla funcion paa enviar un formulario controlando q al menos rellene un campo del mismo, En el botón de envío ...
  #1 (permalink)  
Antiguo 04/08/2003, 06:13
 
Fecha de Ingreso: julio-2003
Mensajes: 164
Antigüedad: 20 años, 9 meses
Puntos: 0
onClick funciona pero onKeypress no

Hola muy buenas. Tengo una sencilla funcion paa enviar un formulario controlando q al menos rellene un campo del mismo, En el botón de envío tengo dos eventos pero el onKeypress no me funciona, a ver si pueden ayudarme.

La función es esta:

<script language="JavaScript">
function valida(){
if ((document.form1.nombre.value == "") && (document.form1.pueblo.value == ""))
{
alert("Debe rellenar al menos un campo");
return false;
}
else
document.form1.submit();
}

Y el botón:
<input type="button" name="Button" onClick="javascript:valida();" onKeyPress="if (event.keyCode==13) valida();">
  #2 (permalink)  
Antiguo 04/08/2003, 08:47
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Creo, seuo, que no puedes hacer un onKeyPress sobre un button.

Lo que podrias hacer es poner tu funcion en el onSubmit del form. Sabes como?
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 05/08/2003, 01:14
 
Fecha de Ingreso: julio-2003
Mensajes: 164
Antigüedad: 20 años, 9 meses
Puntos: 0
Muuuuuuuuuuuuuchas gracias, lo dejé así:

<form action="consulta.asp" method="post" name="form1" onSubmit="javascript:valida();">

y el botón:

<input type="button" name="Button" onClick="javascript:valida();">

Pensaba q no debería poner el onClick pero si no lo pongo no funciona bien, igualmente si le pongo type="submit", me saca la ventanita pero me envia el formulario. El onKeypress no lo he puesto pero tmb funciona.

Gracias de nuevo. Hasta pronto.
  #4 (permalink)  
Antiguo 05/08/2003, 01:20
 
Fecha de Ingreso: julio-2003
Mensajes: 164
Antigüedad: 20 años, 9 meses
Puntos: 0
MENTIRA!!! Hay veces q no me funciona tio, no me lo explico. Cargo la página y si le doy al INTRO no va, pero si le doy con el ratón al botón sí, y si después de darle con el ratón le doy al INTRO funciona.

¿Cómo debería ponerlo para q me fuera perfectamente de las dos formas?

Gracias.
  #5 (permalink)  
Antiguo 05/08/2003, 01:45
 
Fecha de Ingreso: julio-2003
Mensajes: 164
Antigüedad: 20 años, 9 meses
Puntos: 0
Vale, ya está claro (antes pregunto, antes lo aclaro) Simplemente le he añadido return valida(); en el evento onSubmit de la etiqueta <form> y el botón lo he puesto de tipo submit sin ningún evento adicional.

Gracias, hasta pronto.
  #6 (permalink)  
Antiguo 05/08/2003, 06:02
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Caramba, tom2000, como puedo responderte si posteas a esa velocidad!

Yo creo que quedaria algo asi...

<script language="JavaScript">
function valida() {
if ((document.form1.nombre.value == "") && (document.form1.pueblo.value == ""))
{
alert("Debe rellenar al menos un campo");
return false;
}
else
return true;
}

el form
<form name='form1'... onSubmit='return valida();'>

Y el botón:
<input type="button" name="Submit">
__________________
No tengo firma ahora... :(
  #7 (permalink)  
Antiguo 05/08/2003, 08:02
 
Fecha de Ingreso: julio-2003
Mensajes: 164
Antigüedad: 20 años, 9 meses
Puntos: 0
q si q si, q está claro, lo dejé como digo en el último post.

PD:La conexión del trabajo es bastante rápida, por eso posteo rápido, además, muchas veces mientras espero la respuesta de algun post mio, voy probando cosas y al final sale lo q quiero, como en este caso.

ta luego
  #8 (permalink)  
Antiguo 05/08/2003, 08:16
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Ok.
__________________
No tengo firma ahora... :(
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:15.