Gracias Alexis88, la verdad es que desconocía lo de la función anónima manejadora para solucionar esto.
Pero sigue sin funcionar, no entiendo la razón.
Mejor te pongo tal y como lo tengo a ver si me puedes guiar mas exactamente, mira:
En el archivo 1 (donde está el formulario):
Código HTML:
Ver original<form name="formularioRegistrarse" id="formularioRegistrarse" method="post"
action="opcs/opc_registro/validar_formulario_registrarse.php">
<input type="text" name="nombre" id="Nombre" placeholder="Nombre" />
<!--onkeypress="return miClaseValidar.alfaNumerico(event, 'car');"-->
En el archivo 2 tengo:
Código Javascript
:
Ver originaldocument.getElementById("Nombre").addEventListener("keypress", function(event){
miClaseValidar.alfaNumerico(event, "car");
}, false);
var miClaseValidar = {
/*PERMITIR A ALGUNAS CAJAS ADMITIR VALORES NUMERICOS, LETRAS O AMBAS COSAS.........................*/
alfaNumerico: function (elEvento, permitidos) {
// Variables que definen los caracteres permitidos
var numeros = "0123456789";
var caracteres = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var caracteres_espacio = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var caracteresPlus = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ@-_";
var numeros_caracteres = numeros + caracteres;
var caracteres_espacio = caracteres_espacio;
var numeros_caracteres_plus = numeros + caracteres + caracteresPlus;
var teclas_especiales = [8, 37, 39, 46];
// 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
*
// Seleccionar los caracteres a partir del parámetro de la función
switch(permitidos) {
case 'num':
permitidos = numeros;
break;
case 'car':
permitidos = caracteres;
break;
case 'num_car':
permitidos = numeros_caracteres;
break;
case 'car_espacio':
permitidos = caracteres_espacio;
break;
case 'num_car_plus':
permitidos = numeros_caracteres_plus;
break;
}
*
// Obtener la tecla pulsada
var evento = elEvento || window.event;
var codigoCaracter = evento.charCode || evento.keyCode;
var caracter = String.fromCharCode(codigoCaracter);
*
// Comprobar si la tecla pulsada es alguna de las teclas especiales
// (teclas de borrado y flechas horizontales)
var tecla_especial = false;
for(var i in teclas_especiales) {
if(codigoCaracter == teclas_especiales[i]) {
tecla_especial = true;
break;
}
}
*
// Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
// o si es una tecla especial
return permitidos.indexOf(caracter) != -1 || tecla_especial;
} //fin function alfaNumerico
} //fin de miClaseValidar