Foros del Web » Programando para Internet » Javascript »

Campo de texto multi-nombre

Estas en el tema de Campo de texto multi-nombre en el foro de Javascript en Foros del Web. Hola, un saludo a todos. Tengo poco usando js y no sé si lo que quiero es posible (bueno de una forma sencilla y corta). ...
  #1 (permalink)  
Antiguo 13/01/2011, 01:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años
Puntos: 4
Campo de texto multi-nombre

Hola, un saludo a todos.

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';
	}
El cual quiero para validar un formulario, del cual varios de los campos son de tipo similar (string, numerico, etc.)

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()">
  #2 (permalink)  
Antiguo 13/01/2011, 06:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Campo de texto multi-nombre

has de obtener la colección de todos los input que tiene el formulario, para ello usa getElementsByTagName('input'). recorres la colección con un ciclo for y validas si el campo está vacío. si está vacío, concadenas el texto de alerta en una variable (log). ya por último compruebas si esta variable está vacía. si no está vacía levantas una alerta con el texto la variable (log)

Etiquetas: campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.