Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/02/2009, 14:18
Avatar de programeitor
programeitor
 
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 3 meses
Puntos: 9
Respuesta: Simplificar validación de varias variables

¿que hace diferente cada bloque?
el nombre del campo a chequear.

¿como utilizar esa diferencia para simplificar el script?
coger solo un bloque y cambiar el nombre de campo por una variable generica.

¿y ahora que?
colocar en una matriz los nombres de campo a chequear.

¿y?
hacer un bucle con esa matriz como argumento.

¿como hacer para que solo haya un mensaje de alerta?
en una variable colocamos los campos erroneos al chequearlos. Al terminar el bucle lanzamos el alert con esos nombres.

¿como pasamos el foco al campo vacio?
en otra variable recogemos el primer campo vacio. Al terminar el bucle le damos el foco.

Código:
 
function generar()
{
var n, foc, msj="", campos=["nombre","apellidos","pais"]
for(n in campos)
    {
    if(document.getElementById(campos[n]).value=="")
        {
        foc=msj?foc:campos[n]
        msj+=campos[n]+" "
        }
    }
if(msj)
    {
    alert("los campos con arterisco son requeridos, debe rellenar:\n\n"+msj)
    document.getElementById(foc).focus()
    return false
    }
}