Avatar billede crunch Nybegynder
19. august 2001 - 21:25 Der er 7 kommentarer og
1 løsning

check password 2 gange.

hej.

jeg har sat to javascripts sammen og alt virker undtagen tjekket på om de to passwords er ens...


<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 == \'\');
}
function checkemail(theForm){
if (theForm.pass.value != theForm.passigen.value){
                alert(\"E-mail adressen er indtastet forkert. Prøv igen.\");
                theForm.email.focus();
                return(false)
            }
            return true;
        }
        //-->   
</script>


kaldes via.:

<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\" \">


- hvorfor kan man ikke gøre sådan.?
Avatar billede roenving Novice
19. august 2001 - 23:47 #1
Det kan du vel også, men jeg kan ikke se, at du nogen sinde kalder din checkemail-funktion, så det må du gøre !-)

Sådan:

function MM_validateForm() { //v4.0
if (checkemail(document.forms[form1])) {
    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 == \'\');
}
else return false
}


Ja jeg pastede lige noget kode fra dit spm, så jeg skal lige se det grundigt igennem, før jeg kalder det et svar.

hth
jes
Avatar billede roenving Novice
19. august 2001 - 23:50 #2
Den burde zq være god nok -- hvor har du dog fået det (iøvrigt ganske udmærkede men meget generelle) valideringsscript fra ?-)
Avatar billede crunch Nybegynder
20. august 2001 - 09:47 #3
<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
if (checkemail(document.forms[form1])) {
    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 == \'\');
}
else return false
}
function checkemail(theForm){
if (theForm.pass.value != theForm.passigen.value){
                alert(\"E-mail adressen er indtastet forkert. Prøv igen.\");
                theForm.email.focus();
                return(false)
            }
            return true;
        }
        //-->   
</script>


... kan jeg ikke få til at virke. gider du prøve at sætte det sammen som du mener det skal. ?
Avatar billede roenving Novice
20. august 2001 - 10:01 #4
Øvv ... og undskyld
Nu lavede jeg den zq igen ...

if (checkemail(document.forms[\'form1\'])) { //apostroffer eller gåseøjne om navnet

Håber den kan bruges nu !~]
mvh
jes
Avatar billede crunch Nybegynder
20. august 2001 - 10:05 #5
med:

<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
if (checkemail(document.forms[form1])) {
    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 == \'\');
}
else return false
}
function checkemail(\'theForm\'){
if (theForm.pass.value != theForm.passigen.value){
                alert(\"E-mail adressen er indtastet forkert. Prøv igen.\");
                theForm.email.focus();
                return(false)
            }
            return true;
        }
        //-->   
</script>

og :

<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\" \">


valideres ingenting overhovedet... (desværre)
Avatar billede roenving Novice
20. august 2001 - 10:13 #6
Så skal linjen:

else return false

nok laves om til:

document.MM_returnValue = false

For øvrigt:

<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\" \">

indeholder da en \" for meget til sidst??
Avatar billede crunch Nybegynder
20. august 2001 - 23:12 #7
desværre . virker overhovedet ikke . (ingenting bliver valideret)
Avatar billede roenving Novice
21. august 2001 - 00:26 #8
else skulle nok også med !! -- hun er så køn ?~]

Jeg har selvfølgelig ikke debugged det script, du har med men kigget det sådan lidt igennem -- måske kunne du fortælle hvor du har det fra, det kunne give en indgangsvinkel til at forstå opbygningen !-)

jes
PS. Har du set, at jeg har refereret dette script i et andet spørgsmål ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester