Avatar billede ravnborg Nybegynder
05. oktober 2006 - 15:03 Der er 5 kommentarer og
1 løsning

Hjælp til validering af form.

Jeg har lavet en lille form med 3 felter, som jeg gerne vil have valideret såden at der kommer en alarm hvis bare et af felterne er tom.

Jeg har lavet et lille forsøg som desværre ikke virker.

Hvordan får jeg det til at virke

<form method="post" action="min_side_password.asp" onsubmit="validering();return false;">
<input type="password" name="password" size="10" style="border: 1 solid black">
<input type="password" name="nypassword" size="10" style="border: 1 solid black">
<input type="password" name="nypassword1" size="10" style="border: 1 solid black">
<input type="submit" value="ret">
</form>
   
<script type="text/javascript">
function validering()
  {
  error = 0;
  if((document.forms[0].password.value=='') && (error==0)) 
  {       
    alert('Du har ikke udfyldt alle felter');
    document.forms[0].password.focus();
    error = 1;       
  }           
</script>
Avatar billede mclemens Nybegynder
05. oktober 2006 - 15:25 #1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function validering(){

  var alerttxt="Formularen blev ikke afsendt grundet følgende fejl:";

  var submits = true;

  if(document.formnavn.password.value==''){
    submits=false;
    alerttxt+="\n- Tidligere kodeord er ikke udfyldt";
  }

  if(document.formnavn.nypassword.value==''){
    submits=false;
    alerttxt+="\n- Nyt kodeord er ikke udfyldt";
  }

  if(document.formnavn.nypassword1.value==''){
    submits=false;
    alerttxt+="\n- Nyt kodeords kontrolfelt er ikke udfyldt";
  }

  if(document.formnavn.nypassword.value!=document.formnavn.nypassword1.value){
    submits=false;
    alerttxt+="\n- Nyt kodeord og kontrolfelts kodeord  er ikke ens";
  }

  if(!submits)alert(alerttxt);

  return submits;

}       
</script>

</head><body>
<form method="post" name="formnavn" action="min_side_password.asp" onsubmit="return validering();">
Nuværende kodeord: <input type="password" name="password" size="10" style="border: 1 solid black"><br>
Nyt kodeord: <input type="password" name="nypassword" size="10" style="border: 1 solid black"><br>
Nyt kodeord igen (kontrolfelt): <input type="password" name="nypassword1" size="10" style="border: 1 solid black">
<input type="submit" value="ret">
</form>
</body></html>
Avatar billede olebole Juniormester
05. oktober 2006 - 15:26 #2
<ole>

<script type="text/javascript">
function validering() {
  if (document.forms[0].password.value=='') {       
    alert('Du har ikke udfyldt alle felter');
    document.forms[0].password.focus();
    return false;     
  }
  return true;
}         
</script>

<form method="post" action="min_side_password.asp" onsubmit="return validering();">

/mvh
</bole>
Avatar billede mclemens Nybegynder
05. oktober 2006 - 15:31 #3
En lille forkortelse til mit eksempel:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function validering(f){

  var alerttxt="Formularen blev ikke afsendt grundet følgende fejl:";

  var submits = true;

  if(f.password.value==''){
    submits=false;
    alerttxt+="\n- Tidligere kodeord er ikke udfyldt";
  }

  if(f.nypassword.value==''){
    submits=false;
    alerttxt+="\n- Nyt kodeord er ikke udfyldt";
  }

  if(f.nypassword1.value==''){
    submits=false;
    alerttxt+="\n- Nyt kodeords kontrolfelt er ikke udfyldt";
  }

  if(f.nypassword.value!=f.nypassword1.value){
    submits=false;
    alerttxt+="\n- Nyt kodeord og kontrolfelts kodeord  er ikke ens";
  }

  if(!submits)alert(alerttxt);

  return submits;

}     
</script>

</head><body>
<form method="post" action="min_side_password.asp" onsubmit="return validering(this);">
Nuværende kodeord: <input type="password" name="password" size="10" style="border: 1 solid black"><br>
Nyt kodeord: <input type="password" name="nypassword" size="10" style="border: 1 solid black"><br>
Nyt kodeord igen (kontrolfelt): <input type="password" name="nypassword1" size="10" style="border: 1 solid black">
<input type="submit" value="ret">
</form>
</body></html>
Avatar billede mclemens Nybegynder
05. oktober 2006 - 15:33 #4
Og hvis du kun vil have alert såfremt
et felt mangler udfyldelse kan du sige:
(men den længere validering er nok bedre :) )

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function validering(f){

  if(f.password.value==''||f.nypassword.value==''||f.nypassword1.value==''){
    alert("Udfyld alle felter");
    return false;
  }

  else return true;

}     
</script>

</head><body>
<form method="post" action="min_side_password.asp" onsubmit="return validering(this);">
Nuværende kodeord: <input type="password" name="password" size="10" style="border: 1 solid black"><br>
Nyt kodeord: <input type="password" name="nypassword" size="10" style="border: 1 solid black"><br>
Nyt kodeord igen (kontrolfelt): <input type="password" name="nypassword1" size="10" style="border: 1 solid black">
<input type="submit" value="ret">
</form>
</body></html>
Avatar billede ravnborg Nybegynder
05. oktober 2006 - 15:44 #5
Super.

Den tager højde for ALT, mange tak.
Avatar billede mclemens Nybegynder
05. oktober 2006 - 16:21 #6
Velbekom, og tak for point :)
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