Avatar billede peder77 Nybegynder
14. december 2006 - 14:59 Der er 3 kommentarer og
1 løsning

validering af formular

Hej Eksperter.

Jeg har lavet en formular på min hjemmeside som skal bruges til at hent personlige oplysninger om brugeren.
For at brugeren ikke kan sende tomme forumlare ønsker jeg at kontrollere felterne inden de sendes.
Jeg har fundet ud af at kontrollere at felterne ikke er tomme.

function validering()
  {
  error = 0;

  if((document.forms[0].navn.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit navn!');
    document.forms[0].navn.focus();
    error = 1;       
  }

  if((document.forms[0].adresse.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din adresse!');
    document.forms[0].adresse.focus();
    error = 1;       
  }   
 
    if((document.forms[0].postnr.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit postnummer!');
    document.forms[0].postnr.focus();
    error = 1;       
  }   

  if((document.forms[0].by.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din by!');
    document.forms[0].by.focus();
    error = 1;       
  }   

  if((document.forms[0].telefon.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit telefonnummer!');
    document.forms[0].telefon.focus();
    error = 1;       
  }   

if((document.forms[0].email.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din email adresse!');
    document.forms[0].email.focus();
    error = 1;       
  }   

  if(error == 0)
  document.forms[0].submit();   
  }

men jeg ønsker at kontrollere at der i postnummer kun indtastes tal. At der i telefon nummer kun indtastes tal. At der i emailadressen indgår @ og .
Er der en venlig sjæl der kan hjælpe mig med det?
med venlig hilsen
Peter
Avatar billede kinderaeg Nybegynder
15. december 2006 - 09:01 #1
Noget i den her retning:

if((document.forms[0].telefon.value=='' || isNaN(document.forms[0].telefon.value=='')) && error==0) {       
  alert('Du skal udfylde feltet med din email adresse!');
  document.forms[0].email.focus();
  error = 1;       
}   

if((document.forms[0].email.value=='' || document.forms[0].email.value.indexOf("@")==-1) && (error==0)) {       
  alert('Du skal udfylde feltet med din email adresse!');
  document.forms[0].email.focus();
  error = 1;       
}

lav selv det samme nummer med postnr ;)
Avatar billede roenving Novice
15. december 2006 - 13:56 #2
-- og så kan den gøres voldsomt meget simplere, hvis du tager udgangspunkt i form-tagget:

<form ... onsubmit="return validering(this);">

function validering(f){
  if(f.navn.value==''){       
    alert('Du skal udfylde feltet med dit navn!');
    f.navn.focus();
    return false;
  }
  if(f.adresse.value==''){
    alert('Du skal udfylde feltet med din adresse!');
    f.adresse.focus();
    return false;
  }
  if(f.postnr.value=='' || !f.postnr.value.match(/^\d+$/)){
    alert('Du skal udfylde feltet med dit postnummer!');
    f.postnr.focus();
    return false;
  }
  if(f.by.value==''){
    alert('Du skal udfylde feltet med din by!');
    f.by.focus();
    return false;
  }
  if(f.telefon.value=='' || !f.telefon.value.match(/^\d+$/)){
    alert('Du skal udfylde feltet med dit telefonnummer!');
    f.telefon.focus();
    return false;
  }
  var mail = f.email.value;
  if(mail=='' || mail.indexOf("@")<1 || mail.indexOf(".") < 2){
    alert('Du skal udfylde feltet med din email adresse!');
    f.email.focus();
    return false;
  }
  return true;
}
Avatar billede peder77 Nybegynder
18. december 2006 - 13:01 #3
kinderaeg/ jeg brugte dit eksempel. mange tak for interessen. Svar hvis du vil have points.
Avatar billede kinderaeg Nybegynder
18. december 2006 - 14:37 #4
Svar :)
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