Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2010, 07:33
Angeleon
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Editar mensajes de error al validar formulario

¡Hola a [email protected]!

He consultado el FAQ y he utilizado la busqueda en referencia a mi pregunta pero no he encontrado ningún caso igual.

He creado un formulario con Dreamweaver y he puesto el comportamiento propio de DW de 'validar formulario', lo que quiero es editar los mensajes de error que aparecen cuando tratas de envíar el formulario y alguno de los campos no está correctamente completado.

Hasta ahora he editado parte de el código sin problema pero mi problema es que cuando aparece el error de que tal campo es obligatorio (por ejemplo si dejas todos los campos en blanco), no quiero que aparezca la ID del campo del formulario porque como en la página hay varios formularios están diferenciadas las IDs y al cliente no le aclararían nada.

He eliminado el valor '+nm+' que se que es el encargado de que aparezca la ID pero por ejemplo ahora al hacer 'Submit' sale el mismo mensaje repetido tantas veces como campos vacíos o incorrectos haya. ¿Eso se puede evitar?

Adjunto el código a continuación.

Código:
}
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- Debe introducir un e-mail válido.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- El teléfono debe ser numérico.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' debe contener un número entre '+min+' y '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Complete los campos obligatorios.\n'; }
    } if (errors) alert('¡Atención!\n'+errors);
    document.MM_returnValue = (errors == '');
} }
Muchas gracias de antemano.