Avatar billede vieri Nybegynder
10. juni 2002 - 15:58 Der er 4 kommentarer og
1 løsning

Form validering

Jeg har en side, ny.php der ser således ud:
-------
<form action="ny.php" method="post">
Ønsket brugernavn:<input type="text" name="brugernavn">
Password:<input type="password" name="pass1">
Gentag Password:<input type="password" name="pass2">
Email:<input type="text" name="email">
<input type="submit" value="Opret">
</form>
---------------

Nu vil jeg gerne have den valideret via. javascript, hvis det er muligt, med følgende krav:

- Tjek om der er indtastet noget i brugernavn
- Tjek om der er indtastet noget i begge passfelter
- Tjek om email er gyldig

Hvordan gør jeg det?
Avatar billede peterkopi Nybegynder
10. juni 2002 - 16:06 #1
Du tænker lidt over det her, finder de felter du kan bruge og retter evt. teksten efter behov og behag:

<script language="Javascript">
function check(f) {
  if (f.navn.value=="") {
    alert("Du skal skrive dit navn");
    f.navn.focus();
    return false;
  }
  if (f.vej.value=="") {
    alert("Du skal skrive din adresse");
    f.vej.focus();
    return false;
  }
  if (f.post.value=="") {
    alert("Du skal skrive dit post nr.");
    f.post.focus();
    return false;
  }
  if (f.by.value=="") {
    alert("Du skal skrive navnet på den by hvor du bor");
    f.by.focus();
    return false;
  }
  if (f.tlf.value=="") {
    alert("Du skal skrive dit Telefon nr.");
    f.tlf.focus();
    return false;
  }
  if (!f.email.value.match(/^[^\.]?[\w\.-]+@[^\.]?[\w\.-]+\.[A-Z]{2,3}$/i)) {
    alert("Du skal skrive din e-m@il adresse");
    f.email.focus();
    return false;
  }

  d = new Date();
  t = d.getHours();
  m = d.getMinutes();
regExp = '^2[0-4]$|^1[0-9]$|^[0-9]$';
  lt = f.tim.value;
  if (lt.search(regExp) == -1) {
    alert('Det indtastede time-tal er ikke gyldigt!');
    f.tim.focus();
    return false;
  }
  regExp = '^[0-5][0-9]$|^[0-9]$';
  lm = f.minut.value;
  if (lm.search(regExp) == -1) {
    alert('Det indtastede minut-tal er ikke gyldigt!');
    f.minut.focus();
    return false;
  }
  if (lt < t) {
    alert('Det indtastede tidspunkt er tidligere i dag!');
    f.tim.focus();
    return false;
  }
  if (lt == t) {
    if (lm < m) {
      alert('Det indtastede tidspunkt er tidligere i dag!');
      f.tim.focus();
      return false;
    }
    else if ((m + 30) > lm){
      alert('Det indtastede tidspunkt er inden for 30 minutter');
      f.tim.focus();
      return false;
    }
  }
  if (lt > t) {
    if ((60 - parseInt(m) + parseInt(lm)) < 30) {
      alert('Det indtastede tidspunkt er inden for 30 minutter');
      f.tim.focus();
      return false;
    }
  }
  return true;
}
</script>
Avatar billede vieri Nybegynder
10. juni 2002 - 16:37 #2
Hmmm.
Hvis jeg nu har ét felt:
<form><input type="navn"><input type="submit"></form>
Der SKAL være skrevet noget i feltet "navn" ved tryk på submit, hvordan gør jeg det?
Avatar billede vieri Nybegynder
10. juni 2002 - 16:43 #3
Jeg kunne ikke bruge det du har skrevet... Jeg kender ikke til Javascript, så jeg skal have noget mere hjælp. Ellers tak!!
Avatar billede peterkopi Nybegynder
10. juni 2002 - 21:26 #4
Jamen så opretter du da bare et nyt spm, så skal jeg nok hjælpe dig lidt mere på vej..... !
Avatar billede rune_m Nybegynder
11. juni 2002 - 06:14 #5
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