Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/01/2007, 13:00
boterogomezalex
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: No funciona el window.event en Mozilla FireFox

debes tener en cuenta que firefox no maneja el objeto event implicitamente como lo hace ie, para esto debes enviarselo como parametro de la funcion, una forma es

<input size="10" maxlength="10" name="txtMontoPagado" onkeypress="javascript:ValidarNumero(event,this.na me);">

function ValidarDecimal(event,txtCampo)
{
/*codigo de la funcion*/
}

lo segundo es que firefox no maneja la propiedad keycode, sino which, la cual te da el numero de la tecla, pero para hacer mas practico podrias hacer un codigo como el siguiente


function teclaEvento(evento){ if (evento.keyCode)
return evento.keyCode;
else
return evento.which;
}

function continuarEvento(evento,continuar){ if (evento.preventDefault && !continuar){
evento.preventDefault();
evento.stopPropagation();
}
return continuar;
}
function ValidarDecimal(event,txtCampo)
{
var ac;
//no utilizo el name ya tengo la referencia del text
var texto = txtCampo.value;


ac = teclaEvento(event);
if ((ac >= 48) && (ac <= 57) || (ac == 44) || (ac == 46) || (ac == 13) || (ac == 8) || (ac == 9)) {

}
else {
if (ac == 46) {
//en fire fox no puedes cambiar el codigo de la tecla
//o no lo he visto lo que puedes hacer es cancelar el evento
//window.event.keyCode = ac - 2;
continuarEvento(event,false)
}
else {
if (ac == 13) {
window.lnkIntro.click();
}
else {
//window.event.keyCode = " ";
//esta funcion te garantiza que canceles el evento tanto en ie como en ff
return continuarEvento(event,false)
}
}
//document.forms.item(0).item(txtCampo).value = texto;
texto = "";
}
}
}

<input size="10" maxlength="10" name="txtMontoPagado" onkeypress="javascript:ValidarNumero(event,this);" >