Foros del Web » Programando para Internet » Javascript »

Añadir coma en texbox mientras se escribe.

Estas en el tema de Añadir coma en texbox mientras se escribe. en el foro de Javascript en Foros del Web. Hola a todos. Tengo un duda que no logro resolver, y es que necesito añadir una (,) en un momento determinado según se escriben numeros ...
  #1 (permalink)  
Antiguo 25/01/2010, 03:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 9 meses
Puntos: 0
Añadir coma en texbox mientras se escribe.

Hola a todos. Tengo un duda que no logro resolver, y es que necesito añadir una (,) en un momento determinado según se escriben numeros en un textbox de un formulario. El formato que tengo que conseguir es 00,00 . Vamos, que si escribo un número quedaría 01,00 , si escribiera dos números quedaría 16,00 , si escribiera tres números, 16,20 , y si fueran cuatro, 16,25. Pero que se formara según se va tecleando.

A ver si me podeis ayudar ya que me estoy volviendo loco.

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 25/01/2010, 05:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Añadir coma en texbox mientras se escribe.

Hola

Busca por mascara de entrada. Siento no ser mas específico pero no tengo tiempo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 25/01/2010, 05:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Añadir coma en texbox mientras se escribe.

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5.  
  6. var comptador=0;
  7. var mtecles=new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105);
  8.  
  9. function mascara(e,control){
  10. var trobat=false;
  11. (e.keyCode) ? k=e.keyCode : k=e.which;
  12. for (i=0;i<=mtecles.length;i++){
  13.     if(k==mtecles[i]) trobat=true;
  14. }
  15.     if (trobat==false){
  16.         if(control.value.length>comptador){
  17.             control.value=control.value.substr(0,control.value.length-1);
  18.         }
  19.     }else{
  20.         comptador=control.value.length;
  21.     }
  22.     if (comptador==2){
  23.         control.value+=",";
  24.         comptador++;
  25.     }
  26. }
  27. </head>
  28. <input name="texte" type="text" id="texte" onKeyUp="mascara(event,this)">
  29. </body>
  30. </html>

Como te decia Adler, lo que necesitas es una mascara de entrada... mi funcion seguramente es optimizable, pero te controla que solo entren numeros y mientras se escribe te agrega la coma entre el segundo y el tercero....

Hace tiempo que la hice... la matriz "mtecles" son la teclas admitidas (los numeros y algo mas...) no estoy seguro que en teclados con disposicón de la teclas no standar funcione.... en qualquier caso te servirá de ejemplo.

Quim
  #4 (permalink)  
Antiguo 25/01/2010, 06:57
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Añadir coma en texbox mientras se escribe.

Muchas gracias por vuestra ayuda, sobre todo a quimfv. Es lo que quiero hacer aunque tengo que depurarlo un poco.

Muchas gracias de nuevo. Sois la leche

Etiquetas: añadir, coma, mientras
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 14:48.