Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2003, 04:07
Avatar de angel_dope
angel_dope
 
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 3 meses
Puntos: 8
De acuerdo [RESUELTO] Máscara de entrada en textfield [RESUELTO]

Hola de nuevo a tol mundo!!! Aqui estoy otra vez con un problema que puede que tenga facil solución, peeeeero... que yo desconozc Lo que quiero hacer es ponerle una máscara de entrada a un textfield, para que el usuario sepa que formato debe emplear (en este caso concreto es de una fecha), al principio habia pensado en ponerle como valir inicial las barras en el sitio que toca, pero claro, cuando el usuario escribe, las barras se desplazan y no sirve pa na . Alguien sabe como podria solucionar esto y que las barras estén fijas en esa posición, o cualquier otra manera de hacerlo????

He encontrado el siguiente código en las faq que sirve para ir dando formato a un número mientras se escribe, de forma que queden separados los miles por un punto y los decimales por una coma (1.200,45) Alguien sabria como modificarlo para que me inserte las barras en una fecha a medida que la vaya escribiendo (12/12/2000) ???? Yo lo he intentado, pero como no tengo mucha idea de esto no he conseguido nada, aparte de que me ponga las barras en lugar de el punto y la coma
Pongo el código por si alguien sabría como hacerlo
Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
currencyFormat(fldmilSepdecSepe) {
    var 
sep 0;
    var 
key '';
    var 
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
    
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(
0leni++)
     if ((
fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    
aux '';
    for(; 
leni++)
     if (
strCheck.indexOf(fld.value.charAt(i))!=-1aux += fld.value.charAt(i);
    
aux += key;
    
len aux.length;
    if (
len == 0fld.value '';
    if (
len == 1fld.value '0'decSep '0' aux;
    if (
len == 2fld.value '0'decSep aux;
    if (
len 2) {
     
aux2 '';
     for (
0len 3>= 0i--) {
      if (
== 3) {
       
aux2 += milSep;
       
0;
      }
      
aux2 += aux.charAt(i);
      
j++;
     }
     
fld.value '';
     
len2 aux2.length;
     for (
len2 1>= 0i--)
      
fld.value += aux2.charAt(i);
     
fld.value += decSep aux.substr(len 2len);
    }
    return 
false;
   }
  
</script>
 </head>
 <body>
  <form>
   Tipee un número: 
   <input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,',','.',event))">
  </form>
 </body>
</html> 
Muchas gracias por adelantado a tod@s, salu2
__________________
Vayamos por Partes :: Jack el Destripador

Última edición por angel_dope; 11/06/2003 a las 03:17