Muchas gracias por responder, agregué cosas de tu rutina a la mía, ahora solo anda en internet explorer y chrome pero firefox no. jeje a ver si me das una manito. gracias.
Código:
function fieldNumber (e, objeto2 , deci)
{
// var menos = minus || false;
if(e==null){
e=event;
}
if(e==null){
e=window.event;
}
var evento_key = (document.all) ? e.keyCode : e.which;
// evento_key = (document.all) ? objeto.keyCode : objeto.which;
alert(evento_key);
// var evento_key = window.event.keyCode;
var valorCampo;
var numPosPunto = 0;
var strParteEntera = "";
var strParteDecimal = "";
var NUM_DECIMALES = deci;
switch (evento_key)
{
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 46:
break;
default:
window.event.keyCode = 0;
return false;
}
// aquí aparece objeto2 que sería el THIS enviado.
valorCampo = objeto2.value;
if (evento_key == 46) {
if (deci == 0) {
window.event.keyCode = 0;
return false;
}
}
if (evento_key == 46)
if (valorCampo.indexOf(".") != -1)
{
window.event.keyCode = 0;
return false;
}
chardecimal=".";
/* Sَlo puede teclear el nْmero de decimales indicado en NUM_DECIMALES */
if ((numPosPunto = valorCampo.indexOf(".")) != -1)
{
strParteEntera = valorCampo.substr(0,(numPosPunto - 1));
strParteDecimal = valorCampo.substr((numPosPunto + 1), valorCampo.length)
if (strParteDecimal.length > (NUM_DECIMALES - 1))
{
window.event.keyCode = 0;
return false;
}
}
return true;
}
Código:
<input name="maximo" onKeyPress="return fieldNumber(event,this,0)" type="text" id="maximo" size="3" maxlength="3"