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<html>
<head>
<script language="JavaScript">
function currencyFormat(fld, milSep, decSep, e) {
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) != 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 = aux;
if (len == 2){
if (aux>31)
window.alert("El dia debe ser inferior a 31");//CAPULLO
else
fld.value = aux;
}
if (len > 2 && len < 5) {
if (len == 4){
if (aux.substr(len - 2, len)>12)
window.alert("El mes debe ser inferior a 12");//RECAPULLO, ES Q NO SABES DE FECHAS??
else
fld.value = aux;
}
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 2) {
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);
}
if (len > 4 && len < 9) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 2 && i <= len -5) {
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 += aux.substr(len - 2, len);
}
return false;
}
</script>
</head>
<body>
<form>
Introduzca un número:
<input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,'/','/',event))">
</form>
</body>
</html>