Foros del Web » Programando para Internet » Javascript »

error con mozilla firefox

Estas en el tema de error con mozilla firefox en el foro de Javascript en Foros del Web. tengo un codigo para validar que un campo text solo acepte numeros lo tengo en el codigo algo asi @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original ...
  #1 (permalink)  
Antiguo 09/07/2010, 17:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
error con mozilla firefox

tengo un codigo para validar que un campo text solo acepte numeros lo tengo en el codigo algo asi
Código HTML:
Ver original
  1. <input type='text' name='notas' onkeypress='if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;'/>
en internet explorer me lo hace bien pero cuando lo abro con firefox no lo valida deja que ingrese letras alguien podria decirme si es que tengo algun error?? o abra otra manera que sea mas global en lo que respecta a la compatibilidad con los navegadores?? agradesco la ayuda que me puedan prestar
  #2 (permalink)  
Antiguo 09/07/2010, 17:30
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: error con mozilla firefox

event.returnValue = false; sólo sirve para Explorer. Los navegadores estandar funcionan como deben, es decir, usan el equivalente estandar de eso, que es event.preventDefault();
  #3 (permalink)  
Antiguo 09/07/2010, 17:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: error con mozilla firefox

además debes de garantizar la compatibilidad por completo al obtener el valor de cada tecla:

Código Javascript:
Ver original
  1. var e=event;
  2.     if(e==null){
  3.         e=window.event;
  4.     }
  5.     var tecla = (document.all) ? e.keyCode : e.which;
  6. if (tecla < 45 || tecla > 57){...
  #4 (permalink)  
Antiguo 09/07/2010, 17:58
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: error con mozilla firefox

no lo sabia gracias por sus respuestas de verdad en est del javascript ahora es q me falta aprender
  #5 (permalink)  
Antiguo 09/07/2010, 18:09
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: error con mozilla firefox

Cita:
además debes de garantizar la compatibilidad por completo al obtener el valor de cada tecla
O directamente usar keydown en lugar de keypress para saltarse esa validación y obtener igualmente el keyCode correcto en todos los navegadores: http://www.quirksmode.org/js/keys.html
  #6 (permalink)  
Antiguo 09/07/2010, 18:23
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: error con mozilla firefox

lo hice de esta manera y me aparece error cuando coloco una letra xq sera ??
Código HTML:
Ver original
  1. <input type="text" onkeydown="if (event.keyCode< 45 || event.keyCode> 57){event.preventDefaul();}" name="textfield" />
disculpen si vieron que no avia codigo aveces soy distraido jaja
  #7 (permalink)  
Antiguo 09/07/2010, 19:12
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: error con mozilla firefox

es preventDefault
  #8 (permalink)  
Antiguo 09/07/2010, 19:15
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: error con mozilla firefox

Igualmente, debes tener en cuenta a Explorer:
Código PHP:
<form action="" method="get">
<
input type="text" onkeydown="if (event.keyCode< 45 || event.keyCode> 57){if(event.preventDefault)event.preventDefault();else event.returnValue=false;}" name="textfield" />
</
form
  #9 (permalink)  
Antiguo 09/07/2010, 19:15
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: error con mozilla firefox

gracias si me di cuenta cuando lo volvi a hacer pero ya avia mandado el comentario entonces para que funcione en ambos como tendria que hacer?? ya que cuando hago la prueba en el internet explorer me da error que ironico verdad bueno agradesco su ayuda
  #10 (permalink)  
Antiguo 09/07/2010, 19:16
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: error con mozilla firefox

Como indico justo antes de tu último post :)
  #11 (permalink)  
Antiguo 09/07/2010, 19:18
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
De acuerdo Respuesta: error con mozilla firefox

gracias por la ayuda de verdad me haz quitado un dolor de cabeza ya que como siempre se dice en estos foros la compatibilidad con los navegadores es importante
  #12 (permalink)  
Antiguo 09/07/2010, 23:23
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: error con mozilla firefox

Código Javascript:
Ver original
  1. OnKeyPress="this.value=new Number(this.value)"
  #13 (permalink)  
Antiguo 10/07/2010, 09:56
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: error con mozilla firefox

buenas gracias por toda la ayuda que me prestaron dejo como quedo el intup text para q les pueda servir a otros a demas de lo que me dijeron tambien inclui que permitiera las teclas de borrar tanto el suprimir o delete como el backspace tambien las flechas de izquierda y derecha eso para que si el usuario se ekivoca en un numero tenga la oportunidad de borrar gracias por toda la ayuda prestada, la ultima funcion la prove pero me permitio letras podrias explicarme como funciona?? gracias por contestar a todos
Código HTML:
<input type="text" onKeyDown="if(event.keyCode!=8)
					   {
					 	if(event.keyCode!=127)
						{
							if(event.keyCode!=37)
							{
								if(event.keyCode!=39)
								{
									if(event.keyCode!=9)
									{
										if(event.keyCode< 45 || event.keyCode> 57)
										{
										   if(event.preventDefault)
										    event.preventDefault();
										   else 
										   event.returnValue=false;
										}
									}	
								}	
							}	
						}	
					 }" name="textfield" /> 

Etiquetas: firefox, mozilla
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 05:20.