Avatar billede lazio23 Nybegynder
01. november 2001 - 11:14 Der er 16 kommentarer og
1 løsning

Validering!! Haster

Hej

Hvad er fejlen i min validering??????

Hhhjjjæææælllpppp

<html>
<head>
<title>Forms</title>

<script language=\"javaScript\">

function testOplysninger() {
  var fejl = 0;
 
  if ( document.oplysninger.navn.value.length == 0 ) {
      //dette sker hvis navn.value.length er lig 0
      alert(\"Fejl. navn skal udfyldes\");
      fejl = fejl+1;
  } else {
      //dette sker hvis navn.value.length er større end 0
      if ( ! document.oplysninger.navn.value.match( /^[a-zA-Z]+[\" \"]$+/ )) {
          alert(\"Fejl. navn må kun indeholde bogstaver\");
          fejl = fejl+1;
      }}
 
  if ( document.oplysninger.adresse.value.length == 0 ) {
      //dette sker hvis adresse.value.length er lig 0
      alert(\"Fejl. adressen skal udfyldes\");
      fejl = fejl+1;
  }

if ( document.oplysninger.postnr.value.length == 0 ) {
      //dette sker hvis postnr.value.length er lig 0
      alert(\"Fejl. postnummer skal udfyldes\");
      fejl = fejl+1;
  } else {
      //dette sker hvis postnr.value.length er større end 0
      if ( ! document.oplysninger.postnr.value.match( /^\\d+$/ )) {
          alert(\"Fejl. postnummer må kun indeholde cifre\");
          fejl = fejl+1;
      }}
 
  if ( ! document.oplysninger.postnr.value.match( /^\\d{4}$/ )) {
      //postnummeret skal indeholde 4 cifre
      alert(\"Fejl. postnummer skal være 4 cifre.\");
      fejl = fejl+1;
  }

  if ( document.oplysninger.by.value.length == 0 ) {
      //dette sker hvis by.value.length er lig 0
      alert(\"Fejl. by skal udfyldes\");
      fejl = fejl+1;
  } else {
      //dette sker hvis by.value.length er større end 0
      if ( ! document.oplysninger.by.value.match( /^[a-åA-Å]+[\" \"]+$/ )) {
          alert(\"Fejl. by må kun indeholde bogstaver\");
          fejl = fejl+1;
      }}
   
  if ( document.oplysninger.telefon.value.length == 0 ) {
      //dette sker hvis telefon.value.length er lig 0
      alert(\"Fejl. telefonnummer skal udfyldes\");
      fejl = fejl+1;
  } else {
      //dette sker hvis telefon.value.length er større end 0
      if ( ! document.oplysninger.telefon.value.match( /^\\d+$/ )) {
          alert(\"Fejl. telefonnummer må kun indeholde cifre\");
          fejl = fejl+1;
      }}
 
  if ( ! document.oplysninger.telefon.value.match( /^\\d{8}$/ )) {
      alert(\"Fejl. telefonnummer skal være 8 cifre.\");
      fejl = fejl+1;
  }

  if ( document.oplysninger.email.value.length == 0 ) {
      //dette sker hvis email.value.length er lig 0
      alert(\"Fejl. Emailadressen skal udfyldes\");
      fejl = fejl+1;
  } else {
      //dette sker hvis email.value.length er større end 0
      if ( ! document.oplysninger.email.value.match(/^[\\w\\-\\.]+@[\\w\\-\\.]+\\.\\w{2,4}$/)) {
          alert(\"Fejl. Emailadressen er ikke korrekt.\");
          fejl = fejl+1;
      }}

  if ( fejl == 0 ) {  // alt er ok
      return true;    // der bliver nu submitted.
  } else {            // noget er galt.
      return false;  // nu bliver der ikke submitted
  }}

</script>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<form name=\"oplysninger\" action=\"bestilling.html\" target=\"_self\" method=\"get\" onsubmit=\"return testOplysninger()\">
  <table width=\"360\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=\"307\">
    <tr>
      <td width=\"12\" rowspan=\"13\"></td>
      <td height=\"29\" colspan=\"2\">
        <p><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Bestillinger:</b><br>
          <font size=\"2\">1 stk: Kodimagnyl &quot;DAK&quot;, brusetabletter, 3
          x 20 stk.<u><br>
          </u></font><u> </u></font></p>
        <p><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Kunde oplysninger</b></font></p>
      </td>
    </tr>
    <tr>
      <td height=\"20\" colspan=\"2\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"></font></td>
    </tr>
    <tr>
      <td height=\"20\" colspan=\"2\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><br>
        <b>Indtast oplysninger:</b></font></td>
    </tr>
    <tr>
      <td height=\"20\" colspan=\"2\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"></font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">Navn</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"navn\" value=\"\" size=\"25\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">Adresse</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"adresse\" size=\"25\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">Postnr</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"postnr\" size=\"25\" maxlenght=\"4\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">By</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"by\" size=\"25\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">Land</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <select name=\"menu\" onChange=\"MM_jumpMenu(\'parent\',this,0)\">
          <option>Denmark</option>
          <option>Norge</option>
          <option>Sverige</option>
          <option>England</option>
          <option>Tyskland</option>
          <option>Andre</option>
        </select>
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">Telefon</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"telefon\" size=\"25\" maxlenght=\"8\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\" height=\"20\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">E-Mail</font></td>
      <td width=\"210\" valign=\"top\" height=\"20\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"text\" name=\"email\" size=\"25\">
        </font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"></font></td>
      <td width=\"210\" valign=\"top\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"></font></td>
    </tr>
    <tr>
      <td width=\"130\" valign=\"top\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"></font></td>
      <td width=\"210\" valign=\"top\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">
        <Input type=\"submit\" value=\"OK\" size=\"20\">
        &nbsp;&nbsp;
        <Input type=\"reset\" value=\"Slet\" size=\"20\">
        </font></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede tknudsen Nybegynder
01. november 2001 - 11:15 #1
kan du ikke lige give et hint ang hvordan du ser det ikke virker...
Avatar billede Slettet bruger
01. november 2001 - 11:18 #2
Jeg troede du var en rigtig nørd? Kan du ikke finde ud af lidt JavaScript :P
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:18 #3
Har selv fundet fejlen!!
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:19 #4
El barto han fatter ikke en meter!!
Avatar billede pouldc Nybegynder
01. november 2001 - 11:19 #5
AHAHA den kreilerrøv... nu må du lige stramme dig lidt an - du går jo rundt og spiller pænt smart heromme ;)
Avatar billede pouldc Nybegynder
01. november 2001 - 11:20 #6
tør øjnene
Avatar billede Slettet bruger
01. november 2001 - 11:21 #7
Det er jo ikke mig der så Lazio få klø i den bare her i weekenden!

Gumle!
Avatar billede Slettet bruger
01. november 2001 - 11:21 #8
hvor er du? Så skal jeg rykke dig lidt rundt!
Avatar billede pouldc Nybegynder
01. november 2001 - 11:22 #9
Jeg splitter dig ad!
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:22 #10
Pouldc, nu skal du vist lige slappe lidt af, ellers kommer jeg og hænger dig op!
Avatar billede pouldc Nybegynder
01. november 2001 - 11:24 #11
du kommer bare mester...
Avatar billede Slettet bruger
01. november 2001 - 11:24 #12
Simon says: rejs dig op!
Avatar billede jakoba Nybegynder
01. november 2001 - 11:26 #13
Hvis problemet er at du vil undgår mange alerts hvis der er mange fejl kan du evt skrive  return false  første gang der bliver fundet en fejl. Så kan brugeren rette fejlen og prøve igen.

En lille finte er at du kan placere brugerens cursor i det felt der skal rettes noget i:

fx:

  if ( document.oplysninger.navn.value.length == 0 ) {
      //dette sker hvis navn.value.length er lig 0
      alert(\"Fejl. navn skal udfyldes\");
      fejl = fejl+1;
      document.oplysninger.navn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis navn.value.length er større end 0
      if ( ! document.oplysninger.navn.value.match( /^[a-zA-Z]+[\" \"]$+/ )) {
          alert(\"Fejl. navn må kun indeholde bogstaver\");
          fejl = fejl+1;
          document.oplysninger.navn.focus(); // sætter cursor i feltet navn
          return false;      // ditto
      }
  }

mvh JakobA
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:31 #14
Hej Jacoba

Der står at mavnet kun må nave bokstaver, selvom der kun er bokstaver!!

if ( document.oplysninger.navn.value.length == 0 ) {
      //dette sker hvis navn.value.length er lig 0
      alert(\"Fejl. navn skal udfyldes\");
      fejl = fejl+1;
      document.oplysninger.navn.focus(); // sætter cursor i feltet navn
      return false;  // nu bliver der ikke submitted.
  } else {
      //dette sker hvis navn.value.length er større end 0
      if ( ! document.oplysninger.navn.value.match( /^[a-zA-Z]+[\" \"]+$/ )) {
          alert(\"Fejl. navn må kun indeholde bogstaver\");
          fejl = fejl+1;
          document.oplysninger.navn.focus(); // sætter cursor i feltet navn
          return false;      // ditto
      }}
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:37 #15
P.S du skal nok få nogle point!
Avatar billede jakoba Nybegynder
01. november 2001 - 11:38 #16
det er din test:
    /^[a-zA-Z]+[\" \"]+$/
den siger at det indtastede skal slutte med mindst eet blanktegn, og det er næppe det du mener.
for at gøre blanktegn i navnet tilladt skal du blit skrive et blanktegn i forreste klamme:
    /^[a-zA-Z ]+$/
og hvis det også skal være tilladt at hedde lazio23
    /^[a-zA-Z \\d]+$/
så er cifre ( 0, 1,...9 ) også tilladt.

mvh JakobA
Avatar billede lazio23 Nybegynder
01. november 2001 - 11:49 #17
Du er en gutterman!! tak for det!

jeg ligger lige nogle point til dig!
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