2009-06-09 6 views
0

Existe-t-il une version de la fonction JavaScript standard de DreamWeaver MM_validateForm prenant en compte les titres-valeurs prédéfinis des champs de formulaire? Tel queExiste-t-il une version de MM_validateForm qui fonctionne avec des champs de formulaire pré-remplis?

<input type="text" name="fname" value="Enter your first name" /> 

qui est affiché dans une couleur grise plus claire ou quelque chose. Puisque cette valeur est déjà remplie, la routine de validation passe, ce qui n'est pas correct. Comment puis-je réparer ça?

Je n'utilise pas beaucoup DreamWeaver, donc je ne sais pas où regarder exactement.

+0

Quelle version de MM_validateForm utilisez-vous? http://lab.artlung.com/mm_validateform/ – artlung

+0

il est dit v4.0. C'est dans un fichier que j'ai reçu d'un autre codeur. de toute façon, je pense que je l'ai trié .. – aalaap

+0

Cool. Je suppose que vous pourriez alors répondre à votre propre question, ou supprimer votre question. Ou laisse juste je suppose. – artlung

Répondre

1

Vous pouvez utiliser les arguments vides de l'appel MM_validateForm().
Modifier l'appel à MM_validateForm('name','Enter your first name','R',...).
Changer la fonction MM_validateForm() à

<script type="text/javascript"> 
// Version 4.0 
function MM_validateForm() { //v4.0 
    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=MM_findObj(args[i]); 
    if (val) { nm=val.name; val=val.value; if (val!="" && val!=args[i+1]) { 
     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') { 
     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 (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; 
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } 
    } if (errors) alert('The following error(s) occurred:\n'+errors); 
    document.MM_returnValue = (errors == ''); 
} 
</script> 

En bref. Modifier la ligne

if (val) { nm=val.name; if ((val=val.value)!="") { 

à

if (val) { nm=val.name; val=val.value; if (val!="" && val!=args[i+1]) { 
Questions connexes