Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2011, 07:00
Avatar de jcamacho
jcamacho
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 18 años, 6 meses
Puntos: 1
problemas formateo numeros y navegadores

buenos dias disculpen si para algunos les parece que en vez de preguntar deberia investigar pero es que la necesidad y urgencia por solverntar el problema hace que haga la pregunta.
la pregunta es la siguiente: tengo una aplicación en php, y utilizo un archivo que tiene codigo javascript, entre una de estas tengo una funcion que me formatea un numero en una caja de texto y me le va colocando . y coma; en el caso de miles y decimales.
el codigo del archivo es este:

Código PHP:
function currencyFormat(fld, milSep, decSep, e) {
    var 
sep = 0;
    var 
key = '';
    var 
i = j = 0;
    var 
len = len2 = 0;
    var 
strCheck = '0123456789';
    var 
aux = aux2 = '';
    var 
whichCode = (window.Event) ? e.which : e.keyCode;
    if (
whichCode == 13) return true; // Enter
    
if (whichCode == 8) return true; // Enter
    
if (whichCode == 46) return true; // Enter
    
key = String.fromCharCode(whichCode); // Get key value from key code
    
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
    
len = fld.value.length;
    for(
i = 0; i < len; i++)
     if ((
fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    
aux = '';
    for(; 
i < len; i++)
     if (
strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
    
aux += key;
    
len = aux.length;
    if (
len == 0) fld.value = '';
    if (
len == 1) fld.value = '0'+ decSep + '0' + aux;
    if (
len == 2) fld.value = '0'+ decSep + aux;
    if (
len > 2) {
     
aux2 = '';
     for (
j = 0, i = len - 3; i >= 0; i--) {
      if (
j == 3) {
       
aux2 += milSep;
       
j = 0;
      }
      
aux2 += aux.charAt(i);
      
j++;
     }
     
fld.value = '';
     
len2 = aux2.length;
     for (
i = len2 - 1; i >= 0; i--)
      
fld.value += aux2.charAt(i);
     
fld.value += decSep + aux.substr(len - 2, len);
    }
    return 
false;
} 
mi proble y todavia mucho mas raro es que cuando utilizo la aplicacion en mi maquina me funciona: utilizo navegador firefox y so ubuntu.

cuando utilizo la aplicacion en el servidor me formatea el numero pero no me deja utilizar la tecla de retroceso o mejor dicho la de quitar los numeros.

cuando utilizo la aplicacion en servidor con firefox o galeon no me funciona pero cuando es con ephifany sip.

conclusion no entiendo nada de lo que pasa es un caso loco gracias por su ayuda