Foros del Web » Programando para Internet » Javascript »

Solicito Ayuda con funcion JS

Estas en el tema de Solicito Ayuda con funcion JS en el foro de Javascript en Foros del Web. Saludos a todos, solicito vuestra ayuda para algo que no sé como hacer. Tengo esta función (que copié de algún sitio) para permitir la entrada ...
  #1 (permalink)  
Antiguo 21/01/2011, 05:45
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Solicito Ayuda con funcion JS

Saludos a todos, solicito vuestra ayuda para algo que no sé como hacer.

Tengo esta función (que copié de algún sitio) para permitir la entrada de ciertos caracteres en unos campos de un formulario:


Código PHP:
function permite(elEventopermitidos) {
  var 
numeros "0123456789";
  var 
caracteres "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ_-";
  var 
numeros_caracteres numeros caracteres;
  switch(
permitidos) {
    case 
'num':
      
permitidos numeros;
      break;
    case 
'car':
      
permitidos caracteres;
      break;
    case 
'num_car':
      
permitidos numeros_caracteres;
      break;
  }
  var 
evento elEvento || window.event;
  var 
codigoCaracter evento.charCode || evento.keyCode;
  var 
caracter String.fromCharCode(codigoCaracter);
  return 
permitidos.indexOf(caracter) != -1;

Me gustaría poder agregar al listado de numeros la posiblilidad de teclear el BACKSPACE y la BARRA (May+7)

Alguna ayuda.
Mil gracias por adelantado.
  #2 (permalink)  
Antiguo 21/01/2011, 14:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Solicito Ayuda con funcion JS

lo mejor es utilizar los eventos onkeypress y capturar las teclas, por ejemplo el backspace es el ascii 8:

Código Javascript:
Ver original
  1. var _chardecimal = '.';    //separador de la parte decimal
  2.  
  3. function inputFloat(e,minus){
  4.     var menos = minus || false;
  5.     if(e==null){
  6.         e=event;
  7.     }
  8.     if(e==null){
  9.         e=window.event;
  10.     }
  11.     var tecla = (document.all) ? e.keyCode : e.which;
  12.     //48=0,57=9, 45=menos (guión)
  13.     if(tecla==8)return true;//backs
  14.     if(tecla==_chardecimal.charCodeAt(0)) return true; //punto decimal
  15.     if (tecla==45){
  16.         if (!menos){
  17.             return false;
  18.         }
  19.     }else if(tecla < 48 || tecla > 57){
  20.         return false;
  21.     }
  22.     return true;
  23. }

uso:

<input type="text" onkeypress="return inputFloat(event);" ... />
<input type="text" onkeypress="return inputFloat(event, true);" .../>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: funcion, js
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 21:31.