Código PHP:
<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) != '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;
}
</script>
</head>
<body>
<form>
Tipee un número:
<input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,',','.',event))">
</form>
</body>
</html>
Código HTML:
onKeyPress="return(currencyFormat(this,'','.',event))"
Y funciono, el problema siguiente fue, que no me permite borrar, ni con "Delete" ni "Backspace" ni nada de nada, si el usuario se equivoca al insertar un dato no puede correjirse, tremenfo fallo de la funcion, o mio? xD, que tengo que cambiar, ayuda!!, otro fallo que no funciona "maxlength=12" se escriben todos los que el usuario quiere, ni con "length=12"
Tmb tengo la duda si habra algo mas sencillo para hacer lo que quiero, simplemente que solo se ingresen datos numericos que tengan dos decimales como un style o algo parecido.