Avatar billede claus_larsen Nybegynder
25. november 2002 - 22:33 Der er 8 kommentarer og
1 løsning

Validering af forms

Jeg skal validere input fra en form!

Kombineret tal og bogstaver (Er der noget tastet i feltet)
Og så email ( @ og . )

Hvis disse ikke eksisterer skal den poppe up med en boks og gøre opmærksom på hvilket felt det er galt med!
Avatar billede pelkjaer Nybegynder
25. november 2002 - 22:41 #1
//    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
};

og

<form onsubmit="return valider(this);" name="form">
</form>
Avatar billede claus_larsen Nybegynder
25. november 2002 - 22:46 #2
Det ser fint ud... Kan du skrive det som det skal stå? Er lidt en dør til javascript!!!

Det første skal vel stå i <script> tags men hvor i documentet???
Avatar billede pelkjaer Nybegynder
25. november 2002 - 23:07 #3
Ja placér det imellem

<script type="text/javascript>

</script>

Det placeres i din head section.

-------------------

I din body placerer du de felter der skal testets inden i

<form onsubmit="return valider(this);" name="form">
</form>

og tilpasser blot scriptet så det passer med dine input felters navne.
Avatar billede pelkjaer Nybegynder
25. november 2002 - 23:07 #4
Hov.. <script type="text/javascript">
Avatar billede claus_larsen Nybegynder
25. november 2002 - 23:25 #5
Fatter ikke lige hvor jeg skal skrive return true!


    <script type="text/javascript">
    if ( /^[\da-z\._\-]{1,50}@[\da-z\._\-]{1,50}\.[\da-z_]{1,3}$/.test(form.newusername.value) )
        {
            // OK, do nothing
    } else {
      alert ("Det ser ud til at du ikke har udfyldt feltet Email.");
      form.newusername.focus();
      return false;
  };





      if ( form.password.value.length > 0 )
        {
          // alt ok han har skrevet noget
      } else {
          alert ("Det ser ud til du har glemt at udfylde feltet Kodeord.");
          form.password.focus();
          return false;
      };

      if ( form.confirmpassword.value.length > 0 )
        {
          // alt ok han har skrevet noget
      } else {
          alert ("Det ser ud til du har glemt at udfylde feltet Bekræft Kodeord.");
          form.confirmpassword.focus();
          return false;
      };

      if ( form.fornavn.value.length > 0 )
        {
          // alt ok han har skrevet noget
      } else {
          alert ("Det ser ud til du har glemt at udfylde feltet Fornavn.");
          form.fornavn.focus();
          return false;
      };

      if ( form.efternavn.value.length > 0 )
        {
          // alt ok han har skrevet noget
      } else {
          alert ("Det ser ud til du har glemt at udfylde feltet Efternavn.");
          form.efternavn.focus();
          return false;
      };

      if ( form.spilnavn.value.length > 0 )
        {
          // alt ok han har skrevet noget
      } else {
          alert ("Det ser ud til du har glemt at udfylde feltet MoHAA Navn.");
          form.spilnavn.focus();
          return false;
      };

    </script>
Avatar billede pelkjaer Nybegynder
25. november 2002 - 23:36 #6
Bare helt til sidst :)

return true;  // alle felter er ordentligt udfyldt
};
</script>
Avatar billede claus_larsen Nybegynder
25. november 2002 - 23:40 #7
Kan ikke få det til at virke... Den melder ingen fejl, men validerer intet!
Avatar billede pelkjaer Nybegynder
25. november 2002 - 23:53 #8
virker fint her

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/JavaScript">
<!--
function valider ( form ) {
// 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 "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;
  }; 

  return true;  // alle felter er ordentligt udfyldt
};   
//-->
</script>
</head>
<body>

<form method="post" onsubmit="return valider(this);" action="" name="form" id="form">
<input name="att" type="text" id="att"><br>
<input name="postnr" type="text" id="postnr"><br>
<input name="email" type="text" id="email"><br>
<input type="submit" value="submit">
</form>

</body>
</html>
Avatar billede pelkjaer Nybegynder
25. november 2002 - 23:54 #9
*LOL* jeg har ikke pastet starten af scriptet med ind her -det så jeg slet ikke.
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