Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2010, 07:12
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 5 meses
Puntos: 19
Pregunta Borrar datos del Campo

Buenas amigos, estuve buscando en este foro un script para que al momento de colocar una fecha el llene los / sin que el usuario los colocara, y todo funciona de maravilla, el problema es que si quiero borrar ese campo con el teclado (SUPR o BACKSPACE) no puedo, es como si el campo quedara bloqueado, al menos que use el boton BORRAR del formulario.

Mi pregunta es si hay que hacele algun cambio al script para que me permita borrar.

Aca lo paso el ejemplo nato que saque de aca:

Código Javascript:
Ver original
  1. <html>
  2.  <head>
  3.   <script language="JavaScript">
  4.    function currencyFormat(fld, milSep, decSep, e) {
  5.     var sep = 0;
  6.     var key = '';
  7.     var i = j = 0;
  8.     var len = len2 = 0;
  9.     var strCheck = '0123456789';
  10.     var aux = aux2 = '';
  11.     var whichCode = (window.Event) ? e.which : e.keyCode;
  12.     if (whichCode == 13) return true; // Enter
  13.     key = String.fromCharCode(whichCode); // Get key value from key code
  14.     if (strCheck.indexOf(key) == -1) return false; // Not a valid key
  15.     len = fld.value.length;
  16.     for(i = 0; i < len; i++)
  17.      if ((fld.value.charAt(i) != decSep)) break;
  18.     aux = '';
  19.     for(; i < len; i++)
  20.      if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
  21.     aux += key;
  22.     len = aux.length;
  23.     if (len == 0) fld.value = '';
  24.     if (len == 1) fld.value = aux;
  25.     if (len == 2){
  26.         if (aux>31)
  27.         window.alert("El dia debe ser inferior a 31");//CAPULLO
  28.         else
  29.         fld.value = aux;
  30.     }
  31.     if (len > 2 && len < 5) {
  32.      if (len == 4){
  33.         if (aux.substr(len - 2, len)>12)
  34.         window.alert("El mes debe ser inferior a 12");//RECAPULLO, ES Q NO SABES DE FECHAS??
  35.         else
  36.         fld.value = aux;
  37.     }
  38.      aux2 = '';
  39.      for (j = 0, i = len - 3; i >= 0; i--) {
  40.       if (j == 2) {
  41.        aux2 += milSep;
  42.        j = 0;
  43.       }
  44.       aux2 += aux.charAt(i);
  45.       j++;
  46.      }
  47.      fld.value = '';
  48.      len2 = aux2.length;
  49.      for (i = len2 - 1; i >= 0; i--)
  50.       fld.value += aux2.charAt(i);
  51.      fld.value += decSep + aux.substr(len - 2, len);
  52.     }
  53.     if (len > 4 && len < 9) {
  54.      aux2 = '';
  55.      for (j = 0, i = len - 3; i >= 0; i--) {
  56.       if (j == 2 && i <= len -5) {
  57.        aux2 += milSep;
  58.        j = 0;
  59.       }
  60.       aux2 += aux.charAt(i);
  61.       j++;
  62.      }
  63.      fld.value = '';
  64.      len2 = aux2.length;
  65.      for (i = len2 - 1; i >= 0; i--)
  66.       fld.value += aux2.charAt(i);
  67.      fld.value += aux.substr(len - 2, len);
  68.     }
  69.     return false;
  70.    }
  71.   </script>
  72.  </head>
  73.  <body>
  74.   <form>
  75.   Introduzca un número:
  76.   <input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,'/','/',event))">
  77.   </form>
  78.  </body>
  79. </html>