Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/07/2011, 05:58
serbarmax
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Entrada numérica compatible textbox con navegadores

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"
__________________
Sergio.

Última edición por serbarmax; 23/07/2011 a las 10:07