Foros del Web » Programando para Internet » Javascript »

En Mozilla no me funciona??

Estas en el tema de En Mozilla no me funciona?? en el foro de Javascript en Foros del Web. Hola Grupo: tengo un problema con un input, ya que le pongo el siguiente codigo para que solo me deje meter numeros, y en Internet ...
  #1 (permalink)  
Antiguo 11/11/2004, 05:17
Avatar de jmfp26  
Fecha de Ingreso: diciembre-2003
Mensajes: 162
Antigüedad: 20 años, 4 meses
Puntos: 2
En Mozilla no me funciona??

Hola Grupo:

tengo un problema con un input, ya que le pongo el siguiente codigo para que solo me deje meter numeros, y en Internet Explorer Funciona perfectamente.

Pero en Mozilla no funciona.

<input onKeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" type="text" name="c_p" size="5" maxlength="5" value="<?php echo $obj->cp?>"></td>


Como lo puedo solicionar?.

Gracias

Un saludo
  #2 (permalink)  
Antiguo 11/11/2004, 08:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Pese que por algún lado usas PHP .. el problema principal es de la interpretación de tu javascript no de PHP ..

Muevo tu pregunta al foro de Javacirpt para que te orienten sobre la compatibilida de esos eventos que usas de javacript entre IE y otros navegadores.

Un saludo,
  #3 (permalink)  
Antiguo 11/11/2004, 09:50
Avatar de heryfer  
Fecha de Ingreso: febrero-2002
Ubicación: Valencia, España
Mensajes: 164
Antigüedad: 22 años, 2 meses
Puntos: 0
Estimado amigo

Te recomiendo verifiques que tan estandar escribiendo tu codigo, verificalo con algun manual.

Por lo general IE ejecuta codigo no tan estandar, Mozilla es mas quisquilloso y si tiene que respatar el estandar.

Creo que en el onKeypress tienes un error, en el estabdar es onkeypress, tambien podrias usar onchange en ves de onkeypress.
  #4 (permalink)  
Antiguo 11/11/2004, 14:16
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, jmfp26
Por lo que he averiguado, la gestión de los 'event' es diferente en IE y Netscape/Mozilla; además, el 'returnValue' parece específico de IE.
Encontré un script para compatibilizar la detección en ambos navegadores, por lo que sería así:
Código:
<script language="JavaScript" type="text/JavaScript">
function soloNumeros(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        alert("Sólo números, por favor"); //se puede quitar
        return false;
    }
    return true;
}
</script>
Código HTML:
<input type="text" onkeypress="return soloNumeros(event)"> 
(Puedes quitar el alert y simplemente no te dejará escribir letras, sin decirte nada).
Lo he comprobado en Firefox 1.0PR y en IE5.5

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:29.