Foros del Web » Programando para Internet » Javascript »

Problema con decimales

Estas en el tema de Problema con decimales en el foro de Javascript en Foros del Web. Amigos, tengo un problema que me ha tenido en las cuerdas toda la tarde y recurro a ustedes para ver si me pueden ayudar. Valido ...
  #1 (permalink)  
Antiguo 16/04/2007, 17:50
 
Fecha de Ingreso: agosto-2005
Mensajes: 57
Antigüedad: 18 años, 8 meses
Puntos: 0
Exclamación Problema con decimales

Amigos, tengo un problema que me ha tenido en las cuerdas toda la tarde y recurro a ustedes para ver si me pueden ayudar.

Valido que un textbox solo permita numeros decimales, eso funciona perfecto con esta funcion:

Código:
function solo_numeros_decimales(obj, e) 
    {
        // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57, ',' = 44, '.' = 46
        cadena = obj.value;
        key = (document.all)? e.keyCode:e.which;
              
        // buscar en la cadena si existe ','
        if (cadena.indexOf('.') == -1 && cadena.length > 0) 
        {
        alert('key vale ahora antes del return ' + key);
            return (key <= 13 || (key >= 48 && key <= 57) || key == 46);
        } 
        else
        {
            return (key <= 13 || (key >= 48 && key <= 57));
        }
    }
mi problema se genera ahora cuando necesito cambiar el separador de decimales, necesito que sea la coma (',') eso no es problema, mi problema es que cuando presiona el punto('.') del teclado numerico necesito que aparezca una coma pero no hay caso, me muestra siempre el punto.


Espero me puedan ayudar.


Gracias!!!
  #2 (permalink)  
Antiguo 18/04/2007, 18:16
 
Fecha de Ingreso: diciembre-2004
Mensajes: 17
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Problema con decimales

Espero que te pueda ayudar esto..

function solonumeros(){
var key=window.event.keyCode;//codigo de tecla.
if (key < 48 || key > 57){//si no es numero
window.event.keyCode=0;//anula la entrada de texto.
}
if (key == 44){
window.event.keyCode=46;//el 46 es el . en ascii
}
if (key == 46){
window.event.keyCode=46;
}
}

y despues en el formulario

<input name="num" type="text" onKeyPress="solonumeros()" >

espero te sirva
  #3 (permalink)  
Antiguo 18/04/2007, 18:19
 
Fecha de Ingreso: diciembre-2004
Mensajes: 17
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Problema con decimales

Por otro lado tengo un problema "parecido", necesito que en una condicion de JS me tome los decimales

EJ:

if (document.form3.value >= 7,0 )

asi si ingresan el 7,1 el sistema les mande un ALERT altiro....El problema que la condicion no me valida el decimal del 7, por que si ingreso un 8 ahi recien reclama el sistema, pero no 7,1....(Ya probe poniendo 7.0).

Gracias..
  #4 (permalink)  
Antiguo 18/04/2007, 23:57
 
Fecha de Ingreso: agosto-2005
Mensajes: 57
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Problema con decimales

zucco, grax por responder, la primera solucion q diste solo funciona bajo IE, para q funcione en firefox hay q cancelar el evento y generar uno nuevo por codigo en donde se envie la coma.

Ya lo solucione asi q mañana escribo el codigo.


Grax de todas maneras.
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 23:12.