Foros del Web » Programando para Internet » Javascript »

Problemas con Crome

Estas en el tema de Problemas con Crome en el foro de Javascript en Foros del Web. Buenas noches tengo un formulario html que esta vinculado a un javascrip que verifica que si en un campo donde solo se necesitan letras por ...
  #1 (permalink)  
Antiguo 29/04/2012, 22:27
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Exclamación Problemas con Crome

Buenas noches tengo un formulario html que esta vinculado a un javascrip que verifica que si en un campo donde solo se necesitan letras por ejemplo el nombre se oprime(onkeypress) un numero aparesca un alert y enseguida en ese mismo control pongo un onfocus=this.value="" es decir que borre el campo pero en internet explorer funciona bien y en crome no borra el campo

Ojala alguien me entienda y me pueda ayudar

Gracias
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #2 (permalink)  
Antiguo 29/04/2012, 22:31
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 11 años, 3 meses
Puntos: 103
Respuesta: Problemas con Crome

verifica los errores de la pagina en chrome, click derecho -> inspeccionar elemento -> pestaña consola
y tambien publica el tramo de codigo que usas
  #3 (permalink)  
Antiguo 29/04/2012, 22:35
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problemas con Crome

ESO ES LO RARO NO ME MARCA ERRORES NI EN EXPLORER NI EN CROME

<input type=text id="x" name "x" onkeypress="Verifica()" onfocus="this.value='' ">
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #4 (permalink)  
Antiguo 29/04/2012, 22:36
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 8 años, 4 meses
Puntos: 32
Respuesta: Problemas con Crome

Pon el codigo man
  #5 (permalink)  
Antiguo 29/04/2012, 22:40
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 11 años, 3 meses
Puntos: 103
Respuesta: Problemas con Crome

talvez, tengas que agregar una funcion
Código Javascript:
Ver original
  1. function cambiarValor(elemento){
  2. elemento.value="";
  3. }
y hacer asi:
Código HTML:
Ver original
  1. <input type=text id="x" name "x" onkeypress="Verifica()" onfocus="cambiarValor(this) ">
saludos
  #6 (permalink)  
Antiguo 29/04/2012, 22:43
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problemas con Crome

Javascript:
Código:
function validarLetras()
{
a=window.event;
	if(a.keyCode>64 && a.keyCode<91 || a.keyCode==8 || a.keyCode==9 || a.keyCode==16)
	{
	
	}
	else
	{
	alert("ESTE CAMPO SOLO ACEPTA LETRAS");
	}
}
HTML:

Código:
<label for="Nombre">Nombres:</label>
      <input type="text" id="Nombre" name="Nombre" class="input-text" onkeyup="validarLetras()"  onfocus="this.value='' "/>

Asi esta mi codigo
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse

Última edición por carlosloaiza21; 29/04/2012 a las 22:51 Razón: Agregar mas informacion a mi consulta
  #7 (permalink)  
Antiguo 29/04/2012, 22:54
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problemas con Crome

Cita:
Iniciado por chwc Ver Mensaje
talvez, tengas que agregar una funcion
Código Javascript:
Ver original
  1. function cambiarValor(elemento){
  2. elemento.value="";
  3. }
y hacer asi:
Código HTML:
Ver original
  1. <input type=text id="x" name "x" onkeypress="Verifica()" onfocus="cambiarValor(this) ">
saludos
ya lo intente asi pero no no funciona unicamente funciona en IE
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #8 (permalink)  
Antiguo 29/04/2012, 23:04
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 11 años, 3 meses
Puntos: 103
Respuesta: Problemas con Crome

mira te la pongo mas facil, si queres que solo acepte letras, pone esta funcion en js
Código Javascript:
Ver original
  1. function onlytext(box){
  2. regexp = /\W/g;
  3.  if(box.value.search(regexp) >= 0){
  4.  box.value = box.value.replace(regexp, '');
  5.  }
  6. }
y agregale estos al campo
Código HTML:
Ver original
  1. onkeydown='onlytext(this);' onkeyup='onlytext(this);'

saludos
  #9 (permalink)  
Antiguo 29/04/2012, 23:16
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 11 años, 3 meses
Puntos: 103
Respuesta: Problemas con Crome

Cita:
Iniciado por chwc Ver Mensaje
mira te la pongo mas facil, si queres que solo acepte letras, pone esta funcion en js
Código Javascript:
Ver original
  1. function onlytext(box){
  2. regexp = /\W/g;
  3.  if(box.value.search(regexp) >= 0){
  4.  box.value = box.value.replace(regexp, '');
  5.  }
  6. }
y agregale estos al campo
Código HTML:
Ver original
  1. onkeydown='onlytext(this);' onkeyup='onlytext(this);'

saludos
perdon, el regexp es
Código Javascript:
Ver original
  1. regexp = /[^a-zA-Z]/g;
  #10 (permalink)  
Antiguo 30/04/2012, 06:15
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problemas con Crome

Antes que nada gracias por su ayuda pero mi problema no es que no valide lo que se escribe dentro del intput mi problema es que cuando aparece el alert en automatico al volver el focus al control de texto no lo borra es decir que si yo apriento un numero en el campo de nombre me pone la alerta pero no me borra el numero que puse

ojala me de a explicar y me puedan ayudar esto solo me pasa en crome por que en ie funciona perfecto gracias
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #11 (permalink)  
Antiguo 01/05/2012, 03:11
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 8 años, 4 meses
Puntos: 32
Respuesta: Problemas con Crome

Hola Carlos, sucede que hay incompatibilidad en casi todo, te dejo el codigo arreglado y de una vez mejor optimizado.

Código HTML:
Ver original
  1. <label for="Nombre">Nombres:</label>
  2.       <input type="text" id="Nombre" name="Nombre" class="input-text" onkeypress="return validarLetras(event);" placeholder="Solo letras."  />

Código Javascript:
Ver original
  1. function validarLetras(event)
  2. {
  3.      var event  = window.event || event;
  4.      var key    = event.which || event.keyCode;
  5.      var char   = String.fromCharCode(key);
  6.  
  7.      if ( ! isNaN(char) ) {
  8.          return false;
  9.      }
  10. }

Primeramente es ideal usar onkeypress en tu caso ya que estas validando la tecla oprimida en ese momento y lo mejor es que sea antes de imprimirse en el input text, asi de facil: "onkeypress se ejecuta antes de onkeyup".

Dos, window.event suele ser nativo de IE, ahora casi todas las versiones de navegadores modernas lo soportan, para las que no hay que pasarlo como parametro al llamar a la funcion desde el
atributo, ej. onclick="a(event)".

Tres, event.keyCode si es soportado por todos los browsers pero el funcionamiento es distinto entre versiones, por ejemplo en IE te retorna el ascii de cualquier tecla
pero en Firefox te retorna solo el ascii de las teclas especiales, por ejemplo el event.keyCode de la tecla "A" te daria 65 en IE pero en Firefox 0, para ello hay que usar event.which

String.fromCharCode te devuelve el caracter del codigo ascii.

isNaN es una funcion nativa que te dice si el caracter No es un Numero, y al negarlo te devuelve true si es un numero por lo que retorna false y si te fijas en el onkeypres retorna el valor retornado por la funcion, asi que evita que la tecla sea presionada en caso de ser numero.
Lo mas correcto seria usar el event.preventDefault() o event.returnValue=false para IE, quienes se encargan de evitar el funcionamiento normal de un evento.

Placeholder es un atributo que te ahorra codigo encargado de mostrar un texto en caso de estar en blanco el value del elemento.

Saludos.
  #12 (permalink)  
Antiguo 01/05/2012, 08:37
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Problemas con Crome

MUCHAS GRACIAS A TODOS ME SIRVIÓ DE MUCHO TODAS Y CADA UNA DE SU AYUDA Y EFECTIVAMENTE EL MEJOR EVENTO PARA ESTE PROBLEMA ES onkeypress
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse

Etiquetas: formulario, funcion, html, chrome
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 18:03.