Foros del Web » Programando para Internet » Javascript »

Modificar Validar formulario de DreamWeaver

Estas en el tema de Modificar Validar formulario de DreamWeaver en el foro de Javascript en Foros del Web. Buenas. Estoy usando el validar formulario del Dreamweaver que, para campos de texto, no va del todo mal. Tengo un problema, he intentado modificar el ...
  #1 (permalink)  
Antiguo 30/01/2007, 13:02
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 3 meses
Puntos: 0
Modificar Validar formulario de DreamWeaver

Buenas. Estoy usando el validar formulario del Dreamweaver que, para campos de texto, no va del todo mal.
Tengo un problema, he intentado modificar el script para solucionarlo pero no he logrado lo que queria. Aquí os explico:

el script es:
Cita:
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

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.id; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' ha de ser una direcció de e-mail vàlida.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' només pot contenir xifres. No lletres.\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+' ha de contenir un nombre entre '+min+' i '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' no pot estar en blanc.\n'; }
} if (errors) alert('S\'han registrat els següents errors:\n'+errors);
document.MM_returnValue = (errors == '');
}
Y mi boton de envio es de tal forma:
Cita:
<div id="Layer">
<input name="novanoticia" type="submit" id="novanoticia" value="Publicar"
onClick="MM_validateForm('titol','','R','noticia', '','R');return document.MM_returnValue;document.getElementById('L ayer').innerHTML = '<p>Por favor, espera mientras subimos las imagenes...</p>';">
<input type="reset" name="Submit2" value="Borrar todo">
</div>
Bien, todo funciona mientras haya "errores"; mientras haya campos por llenar. Cuando el form está completo no me da ningun error pero no llega a la tercera instruccio del onClick. Poniendola delante si me funciona, pero no me sirve delante ya que si hay errores de form se quedan sin boton de envio para despues... O sea que supongo que donde se "queda atascado" es en el document.MM_returnValue.

Como puedo solucionar eso? Como puedo hacerlo para que esa funcion para validar cmapos me deje añadir más funciones detrás y SOLO se ejecuten en caso de que el formulario esté completo???

Muchas gracias
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 11:21.