Retroceder   Foros del Web > Programación para sitios web > Javascript

Respuesta
 
Herramientas Desplegado
Antiguo 03-ene-2007, 07:04   #1 (permalink)
anas no se puede cailificar en este momento
 
Fecha de Ingreso: diciembre-2005
Mensajes: 6
No funciona el window.event en Mozilla FireFox

El problema es que tengo una función que acepta solo números decimales que no esta funcionando en FireFox, pero si en IE. La misma es llamada desde:

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

Mi javascript asociado a esto es:

function ValidarDecimal(txtCampo)
{
var ac;
var texto = document.forms.item(0).item(txtCampo).value;

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

}
else {
if (ac == 46) {
window.event.keyCode = ac - 2;
}
else {
if (ac == 13) {
window.lnkIntro.click();
}
else {
//window.event.keyCode = " ";
window.event.returnValue = false;
}
}
//document.forms.item(0).item(txtCampo).value = texto;
texto = "";
}
}
}

Me gustaria saber como puedo adaptar este código para que también funcione ne Mozilla Firefox?
Desde ya, muchas gracias.
Saludos
anas está desconectado   Responder Citando
Antiguo 03-ene-2007, 07:16   #2 (permalink)
Moderata
JavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradableJavierB es realmente agradable
 
Avatar de JavierB
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 19.549
Re: No funciona el window.event en Mozilla FireFox

Hola anas

Echa un vistazo a e ste código para validar formularios

Saludos,
__________________
Lee las Políticas de los foros y escribe correctamente.
JavierB está desconectado   Responder Citando
Antiguo 03-ene-2007, 12:00   #3 (permalink)
boterogomezalex ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 4
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);" >
boterogomezalex está desconectado   Responder Citando
Antiguo 04-ene-2007, 17:55   #4 (permalink)
anas no se puede cailificar en este momento
 
Fecha de Ingreso: diciembre-2005
Mensajes: 6
Re: No funciona el window.event en Mozilla FireFox

Muchas gracias boterogomezalex.
Igual te comento que si me funciona reemplazar un evento en FireFox. Realmente haz sido de ayuda. :)
anas está desconectado   Responder Citando
Antiguo 16-abr-2007, 21:59   #5 (permalink)
Diablito69 está en el buen camino
 
Fecha de Ingreso: agosto-2005
Mensajes: 57
Re: No funciona el window.event en Mozilla FireFox

Cita:
Iniciado por anas Ver Mensaje
Muchas gracias boterogomezalex.
Igual te comento que si me funciona reemplazar un evento en FireFox. Realmente haz sido de ayuda. :)
tengo un problema muy parecido al tuyo, en IE me funciona perfecto pero no sé como reemplazar el evento en firefox, como lo hiciste???


salu2
Diablito69 está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 3,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:32.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93