Foros del Web » Programando para Internet » Javascript »

Modificar Funcion para Que Borre Tambien

Estas en el tema de Modificar Funcion para Que Borre Tambien en el foro de Javascript en Foros del Web. Hola tengo el siguiente codigo javascript con el cual puedo restringir los caracteres que se pueden escribir en un input, textarea, etc.. el caso es ...
  #1 (permalink)  
Antiguo 03/01/2009, 10:13
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Modificar Funcion para Que Borre Tambien

Hola tengo el siguiente codigo javascript con el cual puedo restringir los caracteres que se pueden escribir en un input, textarea, etc.. el caso es que no me permite borrar los caracteres una vez introducidos en la caja de texto. El keycode de la tecla borrar creo que es la 107. Que modificacion tendria que hacer para que me lo admitiera. Muchas Gracias de Antemano.

Código:
<script type="text/javascript">
<!--
var letras=' ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZabcçdefghijklmnñopqrstuvwxyzàáÀÁéèÈÉíìÍÌïÏóòÓÒúùÚÙüÜ'
var numeros='1234567890'
var signos=',.:;@-\''
var matematicos='+-=()*/'
var otros='<>#$%&?¿'

function alpha(e,allow) {
var k;
k=document.all?parseInt(e.keyCode): parseInt(e.which);
return (allow.indexOf(String.fromCharCode(k))!=-1);
}
// -->
</script>
=================================
llamadas a la funcion javascript antes escrita
==================================

Código:
onkeypress="return alpha(event,letras)"
onkeypress="return alpha(event,letras+numeros)"
onkeypress="return alpha(event,letras+numeros+signos)"
GRACIAS ¡¡¡¡
  #2 (permalink)  
Antiguo 03/01/2009, 23:23
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Modificar Funcion para Que Borre Tambien

Para que también borre, simplemente puedes agregar en la condición del return que evalue también posibilite borrar (keyCode 8), entonces la función sería:

Código:
function alpha(e,allow) {
var k;
k=document.all?parseInt(e.keyCode): parseInt(e.which);
return (allow.indexOf(String.fromCharCode(k))!=-1 || k == 8);
}
Saludos
  #3 (permalink)  
Antiguo 04/01/2009, 08:20
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Modificar Funcion para Que Borre Tambien

Muchas Gracias, el problema ahora esta en que solo me funciona para Firefox y me gustaria que tambien me funcionara para Explorer 6 y 7. Hay alguna manera de forzar a la funcion para que funcione en ambos navegadores?
Muchas Gracias de Antemano ¡¡¡¡
  #4 (permalink)  
Antiguo 04/01/2009, 13:19
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Modificar Funcion para Que Borre Tambien

Extraño... lo probé en Firefox, IE 7 y Goggle Chrome, y me funcionó en los 3 (en este momento no tengo a mano un IE 6 como para ver cuál puede ser el problema).

Si por algún motivo no funciona, es probable que sea porque no está tomando como corresponde el valor del keyCode. Prueba de hacer antes del return un alert(k); para ver qué valor está tomando k cuando presionas la tecla.

Cualquier cosa avisas

Saludos!
  #5 (permalink)  
Antiguo 04/01/2009, 13:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Modificar Funcion para Que Borre Tambien

Hola MoonShadow

No entiendo por qué usas parseInt(e.keyCode) Se supone que devuelve un entero, no hace falta convertirlo; sería suficiente poner e.keyCode

Saludos,
  #6 (permalink)  
Antiguo 04/01/2009, 19:52
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Modificar Funcion para Que Borre Tambien

Hola

Yo no escribí el código, sólo modifiqué el código que él había creado agregando la condición "k == 8", el resto es el código que superdober creó

Pero sí, en efecto, e.keyCode devuelve de por sí un entero, no había reparado en eso, ya que simplemente modifiqué la condición.

Saludos
  #7 (permalink)  
Antiguo 07/01/2009, 02:39
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Modificar Funcion para Que Borre Tambien

En efecto al quitar parseInt el resultado es el mismo, al poner el alert (k) los keycodes de los numeros son:

0 --> 48
1 --> 49
2 --> 50
3 --> 51
4 --> 52
5 --> 53
6 --> 54
7 --> 55
8 --> 56
9 --> 57

Le he estado dando mil vueltas pero en IE7 no funciona, alguna ayuda por favor ¡¡
Muchas Gracias.-
  #8 (permalink)  
Antiguo 07/01/2009, 09:03
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Modificar Funcion para Que Borre Tambien

Lo acabo de probar de nuevo en el IE7 y me funciona.

Qué es exactamente lo que no funciona?


Saludos
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:10.