Un campo me valida, pero el otro NO ?¿?
Publicado por Albert (20 intervenciones) el 02/01/2021 10:56:25
Buenos días y buen año:
Tengo el siguiente código de validación de dos campos en mi formulario:
Y la llamada a la función correspondiente desde el formulario:
Pues bien, la función valeft me valida correctamente, pero valright no me deja poner espacios como por ejemplo un nombre compuesto como María Jose, me lo borra y me muestra el mensaje de que se debe completar el campo. ¿Alguien puede ver el fallo?? ... llevo tiempo intentando averiguar que puede fallar!!
Gracias de antemano y un saludo
Tengo el siguiente código de validación de dos campos en mi formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// ---------- Función para requerir sólo texto en nombreLeft / nombreRight -------------------- //
function soloLetras(e) {
var key = e.keyCode || e.which,
tecla = String.fromCharCode(key).toLowerCase(),
letras = " áéíóúabcdefghijklmnñopqrstuvwxyzÁÉÍÓÚäëïöüÄËÏÖÜàèìòùÀÈÌÒÙ",
especiales = [8, 37, 39, 46],
tecla_especial = false;
for (var i in especiales) {
if (key == especiales[i]) {
tecla_especial = true;
break;
}
}
if (letras.indexOf(tecla) == -1 && !tecla_especial) {
return false;
}
}
// -- Función para aceptar espacios -- //
function valeft(){
var val = document.getElementById("nombreLeft").value;
var tam = val.length;
for(i=0;i<tam;i++){
if(!isNaN(val[i]) && val[i] != " ")
document.getElementById("nombreLeft").value='';
}
}
// -- Función para aceptar espacios -- //
function valright(){
var val = document.getElementById("nombreRight").value;
var tam = val.length;
for(i=0;i<tam;i++){
if(!isNaN(val[i]) && val[i] != " ")
document.getElementById("nombreRight").value='';
}
}
Y la llamada a la función correspondiente desde el formulario:
1
<input id="nombreLeft" name="nombreLeft" type="text" size="25" onkeypress="return sololetras(e)" onblur="valeft()">Nombre de Ella/Él: <input id="nombreRight" name="nombreRight" type="text" size="25" onkeypress="return sololetras(e)" onblur="valright()">
Pues bien, la función valeft me valida correctamente, pero valright no me deja poner espacios como por ejemplo un nombre compuesto como María Jose, me lo borra y me muestra el mensaje de que se debe completar el campo. ¿Alguien puede ver el fallo?? ... llevo tiempo intentando averiguar que puede fallar!!
Gracias de antemano y un saludo
Valora esta pregunta


0