lo mejor es utilizar los eventos onkeypress y capturar las teclas, por ejemplo el backspace es el ascii 8:
Código Javascript
:
Ver originalvar _chardecimal = '.'; //separador de la parte decimal
function inputFloat(e,minus){
var menos = minus || false;
if(e==null){
e=event;
}
if(e==null){
e=window.event;
}
var tecla = (document.all) ? e.keyCode : e.which;
//48=0,57=9, 45=menos (guión)
if(tecla==8)return true;//backs
if(tecla==_chardecimal.charCodeAt(0)) return true; //punto decimal
if (tecla==45){
if (!menos){
return false;
}
}else if(tecla < 48 || tecla > 57){
return false;
}
return true;
}
uso:
<input type="text"
onkeypress="return inputFloat(event);" ... />
<input type="text" onkeypress="return inputFloat(event, true);" .../>