Avatar billede compac Seniormester
17. marts 2006 - 16:21 Der er 7 kommentarer og
1 løsning

Formularvalidering hvor det ikke kræves at alle felter er udfyldt

På min formular kræver jeg at "titel skal var udfyldt medens "spillested" blot skal komme med en medd. om at feltet ikke er udfyldt - og man kan gå videre uden at det kræves.

function tjek(skriv) {
    if (skriv.titel.value == ""){
      alert("Du skal udfylde titel.");
      skriv.titel.focus();
      return false;
    }
    alert("Skal feltet spillested udfyldes?");
      skriv.spillested.focus();
      return false;
    }
    return true;
    }

- og
<form name="skriv" action="gem.php" method="post" onSubmit="return tjek(this);">
Avatar billede psykochicken Nybegynder
17. marts 2006 - 20:37 #1
function tjek(skriv) {
    if (skriv.titel.value == ""){
      alert("Du skal udfylde titel.");
      skriv.titel.focus();
      return false;
    }
    if (skriv.spillested.value == ""){
      alert("Spillested er ikke udfyldt");
      return true;
    }
    return true;
    }

så vil formen submittes, selv om feltet ikke er udfyldt....men så skal alert-teksten nok ikke være "Skal feltet spillested udfyldes?", da brugeren så forventer en valgmulighed.

/psc
Avatar billede compac Seniormester
17. marts 2006 - 21:02 #2
Hvordan kan det ændres, så der ikke submittes med samme, men man får lejlighed til at gå tilbage og udfylde feltet?
Avatar billede psykochicken Nybegynder
17. marts 2006 - 23:31 #3
Med en confirm-box som hells foreslog i dit forrige spørgsmål http://www.eksperten.dk/spm/695941:

function tjek(skriv) {
  if (skriv.titel.value == ""){
    alert("Du skal udfylde titel.");
    skriv.titel.focus();
    return false;
  }
  if (skriv.spillested.value == ""){
    if(!confirm("Du mangler at skrive dit navn.")){
      skriv.spillested.focus();
      return false;
    }
    else {
      return true;
    }
  }
  return true;
}

...og husk at lukke dit forrige spørgsmål.

/psc
Avatar billede compac Seniormester
19. marts 2006 - 14:25 #4
-læg nogle svar
Avatar billede psykochicken Nybegynder
19. marts 2006 - 14:38 #5
...et enkelt kan vel gøre det ;o)

/psc
Avatar billede compac Seniormester
19. marts 2006 - 22:18 #6
Jeg tager den lige op igen:

Den kan ikke klare flere "frivillige" felter på samme formular??

function tjek(skriv) {
  if (skriv.titel.value == ""){
    alert("Du skal udfylde titel.");
    skriv.titel.focus();
    return false;
  }
  if (skriv.spillested.value == ""){
    if(!confirm("Du mangler at skrive spillested.")){
      skriv.spillested.focus();
      return false;
    }
    else {
      return true;
    }
    if (skriv.beskrivelse.value == ""){
    if(!confirm("Du mangler at udfylde feltet Beskrivelse".)){
      skriv.beskrivelse.focus();
      return false;
    }
    else {
      return true;
    }
  }
  return true;
}
}
Avatar billede psykochicken Nybegynder
20. marts 2006 - 00:55 #7
prøv med

<script type="text/javascript">
function tjek(skriv) {
  if (skriv.titel.value == ""){
    alert("Du skal udfylde titel.");
    skriv.titel.focus();
    return false;
  }
  if (skriv.spillested.value == ""){
    if(!confirm("Du mangler at udfylde spillested - vil du gå videre?")){
      skriv.spillested.focus();
      return false;
    }
  }
  if(skriv.beskrivelse.value == ""){
    if(!confirm("Du mangler at udfylde beskrivelse - vil du gå videre?")){
      skriv.beskrivelse.focus();
      return false;
    }
    else {
      return true;
    }
  }
  return true;
}
</script>

/psc
Avatar billede compac Seniormester
20. marts 2006 - 13:31 #8
Det virker perfekt.
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