function valider ( form ) { // test felterne i javascript et for et // if ( felt_er_OK ) // format for feltcheck // fortsæt // gå videre til næste felt // else { // alert(\"Skriv en felmeddelelse\"); // sæt focus på det felt // return false; // afbryder funktionen og returnerer false.
// test feltet \"att\" if ( form.att.value.length > 0 ) { // alt ok han har skrevet noget } else { alert (\"Feltet Navn skal udfyldes.\"); form.att.focus(); return false; };
// test feltet \"adresse\" // ingen test, han behøver ikke udfylde dette felt
// test feltet \"postnr\" //NB: navne skal være eet enkelt ord. if ( ( form.postnr.value.length == 4 ) // max 4-cifre &&( parseInt( form.postnr.value ) > 1000 ) // 1000 til 9999 ) { // fint, det er et lovligt dansk postnummer. } else { alert (\"Feltet Postnummer er ikke udfyldt med dansk postnummer .\"); form.postnr.focus(); return false; };
if ( /^[\\da-z\\._\\-]{1,50}@[\\da-z\\._\\-]{1,50}\\.[\\da-z_]{1,3}$/.test(form.email.value) ) { // OK, do nothing } else { alert (\"Feltet email er ikke udfyldt med en e-mail adresse.\"); form.email.focus(); return false; };
// osv. en test for hvert felt. Tilsidst skriver du return true:
return true; // alle felter er ordentligt udfyldt };
Skal lige siges at det er JakobA der har bixet det sammen for mig!
Denne her så jeg den anden dag her på eksperten (crunch havde skrevet den sammen med en anden):
<script language=\"JavaScript\"> <!--
function MM_findObj(n, d) { //v4.0 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 && document.getElementById) x=document.getElementById(n); return x; }
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; if ((val=val.value)!=\"\") { if (test.indexOf(\'isEmail\')!=-1) { p=val.indexOf(\'@\'); if (p<1 || p==(val.length-1)) errors+=\'- \'+nm+\' skal indeholde en gyldig e-mail adresse.\\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+\' er nødvendigt.\\n\'; } } if (errors) alert(\'Følgende fejl opstod:\\n\'+errors); document.MM_returnValue = (errors == \'\'); } </script>
Kaldes med: <form name=\"form1\" method=\"post\" action=\"index.asp?link=tilmeldt\" onSubmit=\"MM_validateForm(\'navn\',\'\',\'R\',\'arbejde\',\'\',\'R\',\'stilling\',\'\',\'R\',\'tlf\',\'\',\'R\',\'email\',\'\',\'R\',\'email\',\'\',\'isEmail\',\'pass\',\'\',\'R\',\'passigen\',\'\',\'R\');return document.MM_returnValue\">
Jeg kender ikke parametrene, men de kan findes inde i scriptet.
Jeg har lige kigget noget mere på funktionen -- du har ret, så der må laves noget et eller andet, som tester om selectedIndex > -1 for de pågældende felter =·]
Har ikke lige tid nu, men ... øeh måske senere -- eller der kommer een forbi !-| jes
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.