martes, 17 de mayo de 2011

Avances al proyecto 17 de mayo 2011

Hace unos días comentaba problemas con un SCRIPT en el navegador Firefox, pues bien, este pequeño inconveniente se ha resuelto, para validar los campos nombre y apellidos en el registro de alumnos, se usa un SCRIPT que ignora los números al teclearlos, pero necesitaba de unas modificaciones para que si aceptara las teclas especiales de retroceso y TAB.

El SCRIPT inicial que provocaba errores en Firefox principalmente es:

function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
patron =/[A-Za-z\s]/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

Este solo aceptaba la tecla retroceso y los caracteres de la A - Z y a - z, pero no la tecla TAB, y es poco agradable tener que usar el mouse para cambiar de campo, entonces se modifico el SCRIPT.

function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8 || tecla==9 ) return true;
patron =/[A-Za-zÑñ\s]/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

Y funciono de manera aceptable, pero como el motor JavaScript incluido en cada navegador es diferente en algunos puntos "KeyCode" no funciona como se espera en Firefox, mientras que los demás navegadores como IE y Chrome devuelven el valor ASCII de las teclas especiales, Firefox devuelve un '0' y por esta razón las tecla TAB no se reconocía, así que el SCRIPT final, ya es compatible con la mayoría de los navegadores y ademas acepta caracteres acentuados.

function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8 || tecla==9 || tecla==0) return true;
patron =/[A-Za-zÑñáéíóú\s]/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

No hay comentarios:

Publicar un comentario