![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
19/03/2005, 12:32
|
![Avatar de Gabriel0702](http://static.forosdelweb.com/customavatars/avatar91828_1.gif) | | | Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 11 meses Puntos: 0 | |
Mira Angel, has de cuenta que con tu código ya después no me validaba el formulario, me imagino que era porque dentro de la instrucción que se especifica lo que tiene que hacer el botón:
<input name="Submit" type="submit" onClick="MM_validateForm('ApePatTxt','','R','ApeMa tTxt','','R','UserName','','R','MatriculaTxt','',' R','email','','RisEmail','Contra','','R','ContraRe p','','R');return document.MM_returnValue" value="Registrar">
ya existe una función de return después de que se evalúa el formulario, así que ahora lo que hice es integrar la comparación de las contraseñas dentro del procedimiento de validar formulario y creo que el error que tenía era porque no hacía la referencia completa a las cajas de texto, o sea, yo ponía sólo Contra.value, en vez de FormRegistro.Contra.value, y ahora ya funciona, el código final quedó así:
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(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+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\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+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
}
if (FormRegistro.Contra.value!=FormRegistro.ContraRep .value)
{
errors+= '- Las contraseñas no coinciden\n';
}
if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} |