Foros del Web » Programando para Internet » Javascript »

Problemas con función onkeypress en IE

Estas en el tema de Problemas con función onkeypress en IE en el foro de Javascript en Foros del Web. Hola amigos tengo este código Código: var num=0; function numerosEnterosTelefono(evt) { evt = (evt) ? evt : event var key = (evt.which) ? evt.which : ...
  #1 (permalink)  
Antiguo 13/08/2009, 08:49
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Problemas con función onkeypress en IE

Hola amigos tengo este código
Código:
 var num=0;
function numerosEnterosTelefono(evt)
{
	evt = (evt) ? evt : event
	var key = (evt.which) ? evt.which : evt.keyCode;
	alert(num);
	if(key == 116 || key == 17 || key == 37 || key == 39)
	{
		return true;
	}
	if(num<9 )
	{
		if (key > 47 && key < 58 )
		{
			num++;
			return true;
		}
	}
	if(key == 8 ||  key == 9 || key == 13 || key == 46)
	{
		if(num>0)
		{
			num=num-1;
			return true;
		}
	}
	else 
	{
		return false;
	}
		
}
que es para que me llenen cierto numero de caracteres en un input text en Firefox funciona bien pero en Internet Explorer no me reconoce las teclas supr y back space en el input está de esta forma onkeypress='return numerosEnterosTelefono(event)'.

Como puedo hacer para q funcione con esas dos teclas tambien?.

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 13/08/2009, 09:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Problemas con función onkeypress en IE

ie no dispara el evento keypress cuando presionas delete. solo dispara el keydown y el keyup.
Vas a tener que evaluar en keydown,keypress o keyup la tecla dependiendo del navegador y la tecla a controlar.

Si tienes mas dudas respecto a este tema aquí lo explican bastante bien.

Saludos.
  #3 (permalink)  
Antiguo 13/08/2009, 12:19
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problemas con función onkeypress en IE

Esta es mi aportacion, dependiendo de tus requisitos pudiera modificarla ampliamente:

Código HTML:
<input type="text" id="numero">

<script type="text/javascript">
function numerosEnterosTelefono(e) {
	var e = e || window.event;
	var code = e.which || e.keyCode;
	var character = String.fromCharCode(code);
	
	if (code === 116 || code === 17 || code === 37 ||  code === 39 || code === 8 || code === 9 || code === 13 || code === 27 || code === 46 || /\d/.test(character)) {
		return true;
	}
	else {
		return false;
	}
}

document.getElementById('numero').onkeypress = numerosEnterosTelefono;
</script> 
  #4 (permalink)  
Antiguo 13/08/2009, 12:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problemas con función onkeypress en IE

Hola

Por si todo lo anteriormente dicho no resulta, aquí está tratado ese tema

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;" />
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 15:02.