Foros del Web » Programando para Internet » Javascript »

Evento onkeypress

Estas en el tema de Evento onkeypress en el foro de Javascript en Foros del Web. Hola compañeros muchosa saludos. He aqui la complicación en la que me encuentro: Tengo un formulario el cual tiene varios botones tipo 'button' los cuales ...
  #1 (permalink)  
Antiguo 06/03/2009, 17:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 7 meses
Puntos: 1
Exclamación Evento onkeypress

Hola compañeros muchosa saludos.
He aqui la complicación en la que me encuentro:

Tengo un formulario el cual tiene varios botones tipo 'button' los cuales realizan cada uno una funcion en especifico para que cada boton realice su funcion he creado una funcion para poder acceder por el metodo submit del formulario a cada evento que necesito (los cuales estan programados en otros scripts) aqui le dejo el ejemplo

Función:
Código HTML:
function enviar(pagina)
{
document.form1.action = pagina;
document.form1.submit();

}
Llamada a la funcion desde el boton:
Código HTML:
<input name="btnQuery" type="button" id="btnQuery" value="Buscar" onClick="enviar('_busqueda.php')"> 
Bueno el problema que tengo es que al realizar una busqueda desde determinado textfield llamo a la funcion por medio del siguiente evento:

Código HTML:
<input name="txtQuery" type="text" size="37" maxlength="15" id="query" onkeypress="javascript:if(getKeyCode(event)==13) enviar('_busqueda.php')"> 
Esta es la funcion para el evento onkeypress:

Código HTML:
function getKeyCode(e)
{
e= (window.event)? event : e;
intKey = (e.keyCode)? e.keyCode: e.charCode;
return intKey;
}

Y funciona a la perfeccion pero el unico problema que tengo es que al presionar la tecla 'Enter' (13) me da un pequeño beep el cual necesito quitar ese es mi problema quitar el beep al presiona enter

Ojala me puedan ayudar de antemano muchos saludos y muchas gracias.
  #2 (permalink)  
Antiguo 06/03/2009, 19:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Evento onkeypress

¿beep?

¿Qué tal si colocas return false para anular la acción del evento?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/03/2009, 20:27
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Evento onkeypress

Como dice David el Grande, intenta return false. Algo que no tiene que ver con tu problema, pero te puede ayudar:

Enves de hacer esto:

Código javascript:
Ver original
  1. function getKeyCode(e)
  2. {
  3. e= (window.event)? event : e;
  4. intKey = (e.keyCode)? e.keyCode: e.charCode;
  5. return intKey;
  6. }

Has esto otro:

Código javascript:
Ver original
  1. function getKeyCode(e)
  2. {
  3. e= window.event || e;
  4. return (e.keyCode || e.charCode);
  5. }
Inlcuso creo que puedes eliminar e = window.event || e, por que le estas enviado el evento explicitamente y la compatibilidad con IE no haria falta (no estoy seguro puedes probar).

Creo que deberias usar onkeydown, enves de onkeypress, ya que este te da mas informacion de la que necesitas, onkeydown es justo para capturar esas teclas especiales y funciona de igual manera en todos los navegadores (no requiere e.keyCode || e.charCode, solo usarias keyCode), ademas podrias usar onkeydown="if(event.keyCode == 13) {enviar('_busqueda.php'); return false}"
  #4 (permalink)  
Antiguo 09/03/2009, 16:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Evento onkeypress

Hola muchos saludos antes que nada.

Solo para decirles que con ninguno de los dos beep deja de reproducir el beep, creo que esto se debe por que el campo de texto soporta solo una linea pero considero que debe de haber alguna solucion, o alguna otra propuesta, ya que lo que yo quiero hacer es que al presionar enter me realice la busqueda que deseo pero es importante mencionar que no lo puedo hacer por medio de un boton tipo submit, ojala me puedan ayudar, y muchas gracias de antemano.
  #5 (permalink)  
Antiguo 09/03/2009, 21:40
Avatar de sweetlydark  
Fecha de Ingreso: septiembre-2008
Mensajes: 391
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Evento onkeypress

El beep viene (según he leído) de un setting dentro de tu navegador, supongo que estas usando IE ya que window.event es codigo de IE solamente.

Intenta event.returnValue=false; para quietar el beep.
__________________
Por fin vuelvo a tener internet!
http://www.anidandoetiquetas.com/
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 06:08.