Foros del Web » Programando para Internet » Javascript »

Input con formato decimal

Estas en el tema de Input con formato decimal en el foro de Javascript en Foros del Web. Tengo una duda super grande pero no consigo responderla, espero que me puedan ayudar. Tengo un input text el cual deseo que solo se puedan ...
  #1 (permalink)  
Antiguo 31/12/2013, 08:54
Avatar de ZonaRLX  
Fecha de Ingreso: enero-2011
Mensajes: 75
Antigüedad: 13 años, 4 meses
Puntos: 2
Pregunta Input con formato decimal

Tengo una duda super grande pero no consigo responderla, espero que me puedan ayudar.

Tengo un input text el cual deseo que solo se puedan escribir números del 0-9 obviamente, pero que este tenga un formato, Ej:

0000.00

como podrán ver requiero 2 decimales y al teclear sea de der a izq,
Ej: Quiero teclear el numero 352.22

Al teclear 3:
0000.03

Al teclear 5:
0000.35

Al teclear 2:
0003.52

Al teclear 2:
0035.22

Y al teclear el ultimo 2:
0352.22

Y así sucesivamente aunque sea un numero de mas dígitos

De antemano se los agradezco y que tengan un excelente fin de año!
  #2 (permalink)  
Antiguo 31/12/2013, 11:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Input con formato decimal

Aunque estoy realizando varios quehaceres aquí en casa por el fin de año, me di un pequeño tiempo para ayudarte con el tema del punto decimal:

Código Javascript:
Ver original
  1. var caja = document.getElementById("caja");
  2. caja.onkeypress = function(e){
  3.   var valor = String.fromCharCode(e.keyCode || e.which),
  4.       cantidadActual = this.value.length,
  5.       patron = /^[\d]/;
  6.  
  7.   e.preventDefault();
  8.  
  9.   if (patron.test(valor))
  10.     if ((cantidadActual < 3) || (cantidadActual > 4 && cantidadActual < 7))
  11.       this.value += valor;
  12.     else if (cantidadActual == 3)
  13.       this.value += valor + ".";
  14. };

Lo de los ceros también es posible, sería cuestión de ir comprobando la longitud de la cadena por cada vez que se pulse una tecla y se irían desapareciendo los ceros del inicio por cada nuevo número ingresado hasta que no queden ceros a la izquierda. Si logro terminar a tiempo con mis quehaceres, regreso a ayudarte, a menos que otro ya lo haya hecho.

Saluds
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 31/12/2013, 12:58
Avatar de ZonaRLX  
Fecha de Ingreso: enero-2011
Mensajes: 75
Antigüedad: 13 años, 4 meses
Puntos: 2
Pregunta Respuesta: Input con formato decimal

Cita:
Iniciado por Alexis88 Ver Mensaje
Aunque estoy realizando varios quehaceres aquí en casa por el fin de año, me di un pequeño tiempo para ayudarte con el tema del punto decimal:

Código Javascript:
Ver original
  1. var caja = document.getElementById("caja");
  2. caja.onkeypress = function(e){
  3.   var valor = String.fromCharCode(e.keyCode || e.which),
  4.       cantidadActual = this.value.length,
  5.       patron = /^[\d]/;
  6.  
  7.   e.preventDefault();
  8.  
  9.   if (patron.test(valor))
  10.     if ((cantidadActual < 3) || (cantidadActual > 4 && cantidadActual < 7))
  11.       this.value += valor;
  12.     else if (cantidadActual == 3)
  13.       this.value += valor + ".";
  14. };

Lo de los ceros también es posible, sería cuestión de ir comprobando la longitud de la cadena por cada vez que se pulse una tecla y se irían desapareciendo los ceros del inicio por cada nuevo número ingresado hasta que no queden ceros a la izquierda. Si logro terminar a tiempo con mis quehaceres, regreso a ayudarte, a menos que otro ya lo haya hecho.

Saluds
Buen día Alexis88, agradezco el tiempo que te diste para contestar pero, algo estoy haciendo mal o no funciona ya que no esta respondiendo el input de ninguna manera, intente modificarlo y nada :(
  #4 (permalink)  
Antiguo 31/12/2013, 13:50
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Input con formato decimal

¿Le pusiste al input el mismo ID que en el script?. Aquí puedes ver el ejemplo en ejecución.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: formato, input
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 05:43.