Tengo poco usando js y no sé si lo que quiero es posible (bueno de una forma sencilla y corta).
Tengo el siguiente código:
Código HTML:
if (document.formulario.nombre.value.length==0){ error.push('Nombre invalido, solo usa letras'); document.formulario.nombre.style.borderColor = 'red'; } else{ document.formulario.nombre.style.borderColor = '#06C'; }
en algunos, lo único que cambia es el nombre:
document.formulario.nombre.value.length==0
document.formulario.ciudad.value.length==0
document.formulario.email.value.length==0
etc.
En algunos el código para validar es el mismo, por lo cual no veo para que repetir lo mismo, me gustaría sólo cambiar el nombre del campo.
La pregunta es ¿?
¿Cómo puedo hacerle para no repetir el mismo código?
intente con una funcion, intentando pasar el nombre o ID del campo como parametro.
function valida_envia(){
validar ("nombre_del_campo");
function validar (campo){
if (document.formulario.campo.value.length==0){
error.push( campo + ' invalido, solo usa letras');
document.formulario.campo.style.borderColor = 'red';
} else{
document.formulario.campo.style.borderColor = '#06C';
}
}
}
y no funciona... :golpeado
Pense en 3 soluciones: La anterior (que no sé si sea posible), escribir todo el código (Una para cada campo, son mas de 15) e intentar hacer un método (algo que aún no sé). document.formulario.campo.validarcampo;
Alguien me podría ayudar.
Gracias.
P.D. El evento se desancadena al presionar el boton de submit, es decir, al presionarlo verifica los campos (por el momento que no esten vacios).
<input type="button" value="Enviar" onclick="valida_envia()">