Avatar billede marie14 Nybegynder
05. august 2005 - 11:24 Der er 14 kommentarer og
1 løsning

Bekræft password

Jeg vil gerne have, at brugeren skal bekræfte sit password, når de opretter sig.
Jeg har en alert box på felterne i formularen og denne kode på asp siden:
if Request.Form("Password2") <> Request.Form("Password") Then
response.redirect "xxx.asp"
else...
Jeg mangler at få den til, at redirecte uden, at slette det tidligere indtastede og den skal gerne komme med alert boxen når man kommer tilbage til siden.
Avatar billede kasper.h Nybegynder
05. august 2005 - 11:39 #1
Du kan gøre det i din form i stedet for:

<form method="POST" action="blabla" onSubmit="if(this.password.value != this.password2.value) { alert('Passwords matcher ikke'); return false; }">

Så sender den ikke  formen hvis passwords ikke er ens.
Avatar billede marie14 Nybegynder
05. august 2005 - 12:20 #2
Kan jeg få den til, at fungere med den jeg har i forvejen?
onsubmit="validering();return false;">
Avatar billede marie14 Nybegynder
05. august 2005 - 12:39 #3
Jeg har som sagt testet den og den fungerer og er dejlig simpel, men hvordan får jeg den til, at fungere sammen med valideringen af de andre felter?
Avatar billede kasper.h Nybegynder
05. august 2005 - 18:16 #4
Hvordan ser din funktion, validering() ud?
Avatar billede marie14 Nybegynder
06. august 2005 - 00:05 #5
if((document.forms[0].Password.value=='') && (error==0)) 
  {       
    alert(Skriv venligst et password!');
    document.forms[0].Password.focus();
    error = 1;       
  }
Avatar billede kasper.h Nybegynder
06. august 2005 - 13:14 #6
<form ... onSubmit="return validate();">

function validate() {
  if((document.forms[0].Password.value=='') && (error==0))
  {     
    alert(Skriv venligst et password!');
    document.forms[0].Password.focus();
    error = 1;     
    return false;
  }

  if (document.forms[0].Password.value!=document.forms[0].Password2.value)
  {
    alert('Passwords skal være ens');
    return false;
  }
  return true;
}
Avatar billede marie14 Nybegynder
06. august 2005 - 14:18 #7
Jeg kan ikke få den til,at fungere. Kan det være på grund af den sidste if jeg har stående?
if(error == 0)
  document.forms[0].submit();   
  }
Avatar billede busschou Praktikant
06. august 2005 - 14:24 #8
siden du nu skriver i asp og ikke javascript kategorien :o)
Så vil jeg da anbefale dig at lave samme tjek i asp
Hvis nu brugeren har slået javascript fra, så vil dit tjek ikke virke
Det er måske ikke så kritisk igen på lige netop det tje du har der
Men generelt bør javascript validering kun foretages som en service overfor brugeren
Men serverside validering skal foretages for at man er 100% sikker på hvad man har med at gøre :o)
Avatar billede busschou Praktikant
06. august 2005 - 14:26 #9
Hvis du ønsker den skal huske tidligere indtastede værdier kan disse jo passende gemmes i en session. Når du så laver din form sætter du bare value til at være lig denne session.
Men det er bare ideer :o)
Avatar billede marie14 Nybegynder
06. august 2005 - 14:46 #10
Jeg kan få det til, at fungere hvis jeg kun indsætter denne ene sætning:
if (document.forms[0].Password.value!=document.forms[0].Password2.value)
Den har så til gengæld ikke 2 forskellige alert boxe. Den kommer med den samme alert box, hvad enten feltet er tomt eller forkert udfyldt.
Avatar billede marie14 Nybegynder
06. august 2005 - 14:54 #11
Hej busschou
Nu har jeg prøvet, at lave validering i asp, Jeg synes javascriptet er nemmere.
Mvh. Marie
Avatar billede busschou Praktikant
06. august 2005 - 14:56 #12
det er det måske også til nogen ting, og det gør måske heller ikke noget i det her tilfælde
Men hvis du nu fx skulle indsætte noget i en database, og du udelukkende baserer din sikkerhed på javascript, så er det det samme som ikke have nogen sikkerhed

Men altså sagde det også kun fordi det måske burde overvejes :o)
Avatar billede marie14 Nybegynder
06. august 2005 - 15:11 #13
Jeg har fået det til, at fungere med en else.

Den ser sådan ud:

if((document.forms[0].Password2.value=='') && (error==0)) 
  {       
    alert('Skriv venligst et password!');
    document.forms[0].Password2.focus();
    error = 1;       
  }   
  else
  if (document.forms[0].Password.value!=document.forms[0].Password2.value)
  {       
    alert('Password skal være ens!');
    document.forms[0].Password2.focus();
    error = 1;
   
  }
Men Kasper, tak fordi du ledte mig på sporet.
Giv mig et svar og du får point. ;-)
Avatar billede kasper.h Nybegynder
07. august 2005 - 00:43 #14
Okay.. Funny.. anyways, det er jo fint det virker :)
Avatar billede busschou Praktikant
07. august 2005 - 08:48 #15
Undskyld jeg blander mig igen :o)
Men som jeg ser det, hvis man ikke skriver et password, så sætter den error = 1
Hvis man derefter sletter passwordet, ja så er error stadig lig 1 og derfor vil man kunne have et tomt password
Nu har jeg ikke set det hele i en større kontekst, men error skal vel også være defineret uden for funktionen?
Jeg ville gøre sådan her
---
<html>
<head>
<script type="text/javascript">
function valider(){
  var val1 = document.forms[0].Password.value;
  var val2 = document.forms[0].Password2.value;
  if (val1!=val2 || val1=='' || val2==''){     
    alert('Password skal være ens og ikke tomme!');
    document.forms[0].Password2.focus();
    return false;
  }
  return true;
}
</script>
</head>
<body>
<form onsubmit="return valider();">
  <input type="text" name="Password">
  <input type="text" name="Password2">
  <input type="submit" value="gem">
</form>
</body>
</html>
----
Men som sagt har jo ikke set det hele , så hvis det andet virker er det jo godt nok :o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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