Avatar billede justdoit Nybegynder
29. november 2002 - 12:29 Der er 8 kommentarer og
1 løsning

validering virker ikke ?

Jeg skal have lavet noget validering på min side der opretter en bruger!

Denne henter mit js!: onsubmit="return valider();"

Sådan ser den ud:

<Form name="opret" method="post" onsubmit="return valider();" action="opret.asp?mode=opret">

Her henter jeg min js-fil:

<script type="text/javascript" src="css/validering_opret.js"></SCRIPT>


Og her validere jeg fx mit fornavn:

function valider() {
var fejl = 0;
 
 
//Validere Fornavn
 
  if ( document.opret.fornavn.value.length == 0 ) {
      //dette sker hvis fornavn.value.length er lig 0
      alert("Husk at udfylde navn");
      fejl = fejl+1;
      document.opret.fornavn.focus(); // sætter cursor i feltet Fornavn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis fornavn.value.length er større end 0
      if ( ! document.opret.fornavn.value.match( /^[a-zA-ZæøåÆØÅ -]+$/ )) {
          alert("Navn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.fornavn.focus(); // sætter cursor i feltet navn
          return false;     
      }}

Men jeg får fejlen:

Tegnet ";" var ventet??????
Avatar billede Slettet bruger
29. november 2002 - 12:32 #1
Der mangler en } til sidst :)
Avatar billede Slettet bruger
29. november 2002 - 12:35 #2
Hvis du laver det sådan her slipper du for et sæt klammer:


function valider() {
var fejl = 0;
 
 
//Validere Fornavn
 
  if (document.opret.fornavn.value.length == 0) {
      //dette sker hvis fornavn.value.length er lig 0
      alert("Husk at udfylde navn");
      fejl = fejl+1;
      document.opret.fornavn.focus(); // sætter cursor i feltet Fornavn
      return false;  // nu bliver der ikke submitted.
  } else if (! document.opret.fornavn.value.match( /^[a-zA-ZæøåÆØÅ -]+$/)) {
          alert("Navn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.fornavn.focus(); // sætter cursor i feltet navn
          return false;     
      }
}
Avatar billede justdoit Nybegynder
29. november 2002 - 12:39 #3
Jeg tror det er fordi jeg ikke har vist dig hele koden, men her er det hele - fylder lidt meget ;o)

function valider() {
var fejl = 0;
 
 
//Validere Fornavn
 
  if ( document.opret.fornavn.value.length == 0 ) {
      //dette sker hvis fornavn.value.length er lig 0
      alert("Husk at udfylde navn");
      fejl = fejl+1;
      document.opret.fornavn.focus(); // sætter cursor i feltet Fornavn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis fornavn.value.length er større end 0
      if ( ! document.opret.fornavn.value.match( /^[a-zA-ZæøåÆØÅ -]+$/ )) {
          alert("Navn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.fornavn.focus(); // sætter cursor i feltet navn
          return false;     
      }}
     

//Validere Efternavn
 
  if ( document.opret.efternavn.value.length == 0 ) {
      //dette sker hvis efternavn.value.length er lig 0
      alert("Husk at udfylde efternavn");
      fejl = fejl+1;
      document.opret.efternavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis efternavn.value.length er større end 0
      if ( ! document.opret.efternavn.value.match( /^[a-zA-ZæøåÆØÅ ]+$/ )) {
          alert("Efternavn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.efternavn.focus(); // sætter cursor i feltet navn
          return false;     
      }}
     
//Validere Geografi
 
  if ( document.opret.bydel.value.length == 0 ) {
      //dette sker hvis bydel.value.length er lig 0
      alert("Husk at udfylde geografi");
      fejl = fejl+1;
      document.opret.gadenavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }
   
 
 
//Validere Postnummer 

if ( document.opret.postnummer.value.length == 0 ) {
      //dette sker hvis postnr.value.length er lig 0
      alert("Postnummer skal udfyldes");
      fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis postnr.value.length er større end 0, (d+$ står for tal fra 0-9)
      if ( ! document.opret.postnummer.value.match( /^\d+$/ )) {
          alert("Postnummer kan kun indeholde cifre");
          fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
 
  if ( ! document.opret.postnummer.value.match( /^\d{4}$/ )) {
      //postnummeret skal indeholde 4 cifre
      alert("Postnummer skal være 4 cifre.");
      fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }

 

//Validere Bynavn 
 
  if ( document.opret.bynavn.value.length == 0 ) {
      //dette sker hvis by.value.length er lig 0
      alert("Bynavn skal udfyldes");
      fejl = fejl+1;
      document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis by.value.length er større end 0
      if ( ! document.opret.bynavn.value.match( /^[a-zA-ZæøåÆØÅ ]+$/ )) {
          alert("Bynavn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
   
     
Validere Telefonnummer
   
if ( ! document.opret.telefonnr.value.match( /^\ d+$/ )) {
      alert("Telefonnummer kan kun indeholde cifre");
      fejl = fejl+1;
      document.opret.telefonnr.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }
 
if ( ! document.opret.telefonnr.value.match( /^\d{8}$/ )) {
    alert("Telefonnummer skal være 8 cifre.");
    fejl = fejl+1;
    document.opret.telefonnr.focus(); // sætter cursor i feltet navn
    return false;  // nu bliver der ikke submitted.
  }
 
 
 
  //Validere Mobilnummer
     

if ( ! document.opret.mobilnr.value.match( /^\ d+$/ )) {
      alert("Mobilnummer kan kun indeholde cifre");
      fejl = fejl+1;
      document.opret.mobilnr.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }
 
if ( ! document.opret.mobilnr.value.match( /^\d{8}$/ )) {
    alert("Mobilnummer skal være 8 cifre.");
    fejl = fejl+1;
    document.opret.mobilnr.focus(); // sætter cursor i feltet navn
    return false;  // nu bliver der ikke submitted.
  }
 
 
 
//Validere E.mail adressen

if ( document.opret.email.value.length == 0 ) {
      //dette sker hvis email.value.length er lig 0
      alert("E-mail adressen skal udfyldes");
      fejl = fejl+1;
      document.opret.email.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis email.value.length er større end 0
      if (document.opret.email.value.indexOf("@") == -1) {
          alert("Dette er ikke en korrekt e-mail adresse!");
          fejl = fejl+1;
          document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
     
     
//Validere Brugernavn
 
  if ( document.opret.brugernavn.value.length == 0 ) {
      //dette sker hvis brugernavn.value.length er lig 0
      alert("Husk at udfylde brugernavn");
      fejl = fejl+1;
      document.opret.brugernavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }


//Validere Kode
 
  if ( document.opret.kodeord.value.length == 0 ) {
      //dette sker hvis kode.value.length er lig 0
      alert("Husk at udfylde kodeord");
      fejl = fejl+1;
      document.opret.kodeord.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }
 
  //Validere Kode2
 
  if ( document.opret.kodeord2.value.length == 0 ) {
      //dette sker hvis kodeord2.value.length er lig 0
      alert("Husk at gentage Koden");
      fejl = fejl+1;
      document.opret.kodeord2.focus(); // sætter cursor i feltet kodeord2
      return false;  // nu bliver der ikke submitted.
}
  // != betyder at koderne er forskellige fra hinanden
if ( document.opret.kodeord.value != document.bruger.kodeord2.value ) {
      //dette sker hvis kode.value IKKE er lig kode2.value
      alert("De to koder skal være ens!");
      fejl = fejl+1;
      document.opret.kodeord2.focus(); // sætter cursor i feltet kodeord2
      return false;  // nu bliver der ikke submitted.
  }

  if ( fejl == 0 ) {  // alt er ok
      return true;    // der bliver nu submitted.
  } else {            // noget er galt.
      return false;  // nu bliver der ikke submitted
  }}// denne sluttuborg afslutter funktionen
Avatar billede Slettet bruger
29. november 2002 - 12:41 #4
Du havde glemt nogle //ved dine kommentarer

function valider() {
var fejl = 0;
 
 
//Validere Fornavn
 
  if ( document.opret.fornavn.value.length == 0 ) {
      //dette sker hvis fornavn.value.length er lig 0
      alert("Husk at udfylde navn");
      fejl = fejl+1;
      document.opret.fornavn.focus(); // sætter cursor i feltet Fornavn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis fornavn.value.length er større end 0
      if ( ! document.opret.fornavn.value.match( /^[a-zA-ZæøåÆØÅ -]+$/ )) {
          alert("Navn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.fornavn.focus(); // sætter cursor i feltet navn
          return false;     
      }}
     

//Validere Efternavn
 
  if ( document.opret.efternavn.value.length == 0 ) {
      //dette sker hvis efternavn.value.length er lig 0
      alert("Husk at udfylde efternavn");
      fejl = fejl+1;
      document.opret.efternavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis efternavn.value.length er større end 0
      if ( ! document.opret.efternavn.value.match( /^[a-zA-ZæøåÆØÅ ]+$/ )) {
          alert("Efternavn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.efternavn.focus(); // sætter cursor i feltet navn
          return false;     
      }}
     
//Validere Geografi
 
  if ( document.opret.bydel.value.length == 0 ) {
      //dette sker hvis bydel.value.length er lig 0
      alert("Husk at udfylde geografi");
      fejl = fejl+1;
      document.opret.gadenavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }
   
 
 
//Validere Postnummer 

if ( document.opret.postnummer.value.length == 0 ) {
      //dette sker hvis postnr.value.length er lig 0
      alert("Postnummer skal udfyldes");
      fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis postnr.value.length er større end 0, (d+$ står for tal fra 0-9)
      if ( ! document.opret.postnummer.value.match( /^\d+$/ )) {
          alert("Postnummer kan kun indeholde cifre");
          fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
 
  if ( ! document.opret.postnummer.value.match( /^\d{4}$/ )) {
      //postnummeret skal indeholde 4 cifre
      alert("Postnummer skal være 4 cifre.");
      fejl = fejl+1;
      document.opret.postnummer.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }

 

//Validere Bynavn 
 
  if ( document.opret.bynavn.value.length == 0 ) {
      //dette sker hvis by.value.length er lig 0
      alert("Bynavn skal udfyldes");
      fejl = fejl+1;
      document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis by.value.length er større end 0
      if ( ! document.opret.bynavn.value.match( /^[a-zA-ZæøåÆØÅ ]+$/ )) {
          alert("Bynavn kan kun indeholde bogstaver");
          fejl = fejl+1;
          document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
   
     
//Validere Telefonnummer
   
if ( ! document.opret.telefonnr.value.match( /^\ d+$/ )) {
      alert("Telefonnummer kan kun indeholde cifre");
      fejl = fejl+1;
      document.opret.telefonnr.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }
 
if ( ! document.opret.telefonnr.value.match( /^\d{8}$/ )) {
    alert("Telefonnummer skal være 8 cifre.");
    fejl = fejl+1;
    document.opret.telefonnr.focus(); // sætter cursor i feltet navn
    return false;  // nu bliver der ikke submitted.
  }
 
 
 
  //Validere Mobilnummer
     

if ( ! document.opret.mobilnr.value.match( /^\ d+$/ )) {
      alert("Mobilnummer kan kun indeholde cifre");
      fejl = fejl+1;
      document.opret.mobilnr.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }
 
if ( ! document.opret.mobilnr.value.match( /^\d{8}$/ )) {
    alert("Mobilnummer skal være 8 cifre.");
    fejl = fejl+1;
    document.opret.mobilnr.focus(); // sætter cursor i feltet navn
    return false;  // nu bliver der ikke submitted.
  }
 
 
 
//Validere E.mail adressen

if ( document.opret.email.value.length == 0 ) {
      //dette sker hvis email.value.length er lig 0
      alert("E-mail adressen skal udfyldes");
      fejl = fejl+1;
      document.opret.email.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis email.value.length er større end 0
      if (document.opret.email.value.indexOf("@") == -1) {
          alert("Dette er ikke en korrekt e-mail adresse!");
          fejl = fejl+1;
          document.opret.bynavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
      }}
     
     
//Validere Brugernavn
 
  if ( document.opret.brugernavn.value.length == 0 ) {
      //dette sker hvis brugernavn.value.length er lig 0
      alert("Husk at udfylde brugernavn");
      fejl = fejl+1;
      document.opret.brugernavn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }


//Validere Kode
 
  if ( document.opret.kodeord.value.length == 0 ) {
      //dette sker hvis kode.value.length er lig 0
      alert("Husk at udfylde kodeord");
      fejl = fejl+1;
      document.opret.kodeord.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  }
 
  //Validere Kode2
 
  if ( document.opret.kodeord2.value.length == 0 ) {
      //dette sker hvis kodeord2.value.length er lig 0
      alert("Husk at gentage Koden");
      fejl = fejl+1;
      document.opret.kodeord2.focus(); // sætter cursor i feltet kodeord2
      return false;  // nu bliver der ikke submitted.
}
  // != betyder at koderne er forskellige fra hinanden
if ( document.opret.kodeord.value != document.bruger.kodeord2.value ) {
      //dette sker hvis kode.value IKKE er lig kode2.value
      alert("De to koder skal være ens!");
      fejl = fejl+1;
      document.opret.kodeord2.focus(); // sætter cursor i feltet kodeord2
      return false;  // nu bliver der ikke submitted.
  }

  if ( fejl == 0 ) {  // alt er ok
      return true;    // der bliver nu submitted.
  } else {            // noget er galt.
      return false;  // nu bliver der ikke submitted
  }}// denne sluttuborg afslutter funktionen
Avatar billede justdoit Nybegynder
29. november 2002 - 12:49 #5
ok, nu er der ikke fejl mere med ";"

Men der bliver ikke valideret - som om den slet ikke tjekker min funktion?
Avatar billede Slettet bruger
29. november 2002 - 12:58 #6
Jeg skal på arbejde, hvis det ikke er løst endnu kan jeg kigge påd et i aften.
Avatar billede justdoit Nybegynder
29. november 2002 - 13:02 #7
Virker ikke :o(
Avatar billede Slettet bruger
30. november 2002 - 13:11 #8
Smid et link i stedet.

Og så du sender en reference til formen med ved onsubmit, som funktionen overhovedet ikke beder om:

onSubmit="return valider();"

... skal det bare være. Men der kan godt være flere fejl; det vil være nemmere at tjekke med et link! :)
Avatar billede justdoit Nybegynder
06. december 2002 - 19:03 #9
jeg har ikke noget link jeg kan vise - men jeg er kommet lidt videre og lavet en nyt 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