Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/06/2005, 13:23
Avatar de phinojosa
phinojosa
 
Fecha de Ingreso: agosto-2004
Ubicación: Guayaquil-Ecuador
Mensajes: 145
Antigüedad: 19 años, 7 meses
Puntos: 2
Eso es sumamente sencillo, debes usar Javascript como máscara de entrada...

Código HTML:
function currencyFormat(fld, milSep, decSep, e,limite) { 
if (fld.value.length>limite)
	return false;
    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 
    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; 
  } 
Luego en la caja de texto que desees ponerle la máscara de entrada escribes lo siguiente:

this.txtVaor.Attributes.Add("onKeyPress","javascri pt:return(currencyFormat(this,',','.',event,8));") ;

Donde:
this: objeto actual
',': separador de miles
'.' separador de decimales
8 la longitud máxima de la caja de texto