Buenos días a todos,
Este es mi primera mensaje, pido perdón, si no es el lugar.
Bien, les expongo mi duda.
Quiero realizar lo siguiente:
En un formulario, tengo una serie de input, cada uno debe admitir ciertos caracteres, antes de que el formulario sea enviado. Realizando para ello, unas validaciones.
Para ello hago lo siguiente:
- en el formulario, dentro de cada input tengo una etiqueta con un evento, para poder hacer la validación.
- <input type="text" class="form-control" name="login" id="login" maxlength="32" required="required" onchange="caracterUsuario(event)">
- Dentro de la función javascript tengo lo siguiente:
- function caracterUsuario(e)
- {
- $(div_usuario).removeClass('has-success');
- $(div_usuario).removeClass('has-error');
- var tecla = e.charCode;
- console.log(tecla);
- var salir=false;
- //Solo permitimos:
- // -- letras sin ñ --> (97-122) minúsculas, (65-90) mayusculas
- // -- números --> (0-9)
- // -- tabulador y enter
- // -- retroceso (0)
- //-- letras
- if(tecla>=65 && tecla<=90)
- {
- salir=true;
- }
- else if(tecla>=97 && tecla<=122)
- {
- salir=true;
- }
- else if(tecla>=48 && tecla<=57)
- {
- salir=true;
- }
- else if(tecla==0)
- {
- salir=true;
- }
- if(!salir)
- {
- alert("Caracter no permitido");
- $(div_usuario).addClass('has-error');
- var login_text=document.getElementById('login').value;
- var nueva=quitaUltimoCar(login_text);
-
- document.getElementById('login').value="";
- document.getElementById('login').value=nueva;
- document.getElementById('login').focus();
- }
- if(salir)
- {
- $(div_usuario).addClass('has-success');
- }
- }
- function quitaUltimoCar(cadena)
- {
- var car="";
- var aux="";
- for(var i=0;i<(cadena.length);i++)
- {
- car=cadena.charAt(i);
- aux+=car;
- car="";
- }
- return aux;
- }
Pues bien, no consigo hacer para que quite el caracter introducido, si éste es erróneo, ¿alguna idea de cómo se podría hacer?¿Estoy haciendo algo mal?
Muchas gracias de antemano.