Avatar billede swasper Nybegynder
03. marts 2001 - 00:33 Der er 7 kommentarer og
1 løsning

Topsikring af formmail

Hej

Jeg har dette javascript til at tjekke efter nogle forskellige ting i min formular.

<SCRIPT LANGUAGE=\"JavaScript\">


function Checkform(thisform) {
// Startværdier
strError = \'Der opstod følgende fejl:\\n\\n\';
intError = 0;

// Check et hvilket som helst felt
if (thisform.NAVN.value == \"\")
{
strError = strError + \'-Navn mangler\\n\'
intError = 1;
thisform.NAVN.focus();

}


// Check et hvilket som helst felt
if (thisform.ADRESSE.value == \"\")
{
strError = strError + \'-Adresse mangler\\n\'
intError = 1;
thisform.ADRESSE.focus();

}


// Check et hvilket som helst felt
if (thisform.POSTNUMMER.value == \"\")
{
strError = strError + \'-Postnr mangler\\n\'
intError = 1;
thisform.POSTNUMMER.focus();

}


// Check et hvilket som helst felt
if (thisform.BY.value == \"\")
{
strError = strError + \'-Bynavn mangler\\n\'
intError = 1;
thisform.BY.focus();

}


//Check Email,  er den tom
if (thisform.MAIL.value == \"\")
{
strError = strError + \'-E-mail adresse mangler\\n\'
intError = 1;
thisform.MAIL.focus();


}


// Check for @ i email
if (thisform.MAIL.value.indexOf(\"@\") == -1 && thisform.MAIL.value != \"\")
{
strError = strError + \'-Fejl i e-mail adressen\\n\'
intError = 1;
thisform.MAIL.focus();

}


// Check et hvilket som helst felt
if (thisform.BESKED.value == \"\")
{
strError = strError + \'-Besked mangler\\n\'
intError = 1;
thisform.BESKED.focus();

}


if (intError == 1) {
alert(strError)
return false;
}

}
</SCRIPT>

Men jeg vil gerne have det til i \"ADRESSE\" at tjekke efter om indtastningen indeholder både tal og tekst, og at den i \"MAIL\" feltet tjekker efter om indtastningen indeholder et .

Er der nogen der kan hjælpe.

OBS. For at tjekke efter et punktum i mail adressen så hjælper det altså ikke bare at indsætte dette:

// Check for @ i email
if (thisform.MAIL.value.indexOf(\"@\") == -1 && thisform.MAIL.value != \"\")
{
strError = strError + \'-Fejl i e-mail adressen\\n\'
intError = 1;
thisform.MAIL.focus();

for så kommer der bare flere fejl-beskeder.

I kan se scriptet i funktion på denne side: www.zektor3.dk/bibliotek/kontakt.html
Avatar billede swasper Nybegynder
03. marts 2001 - 00:34 #1
Adressen til scriptet er: www.zektor3.dk/bibliotek/html/kontakt.html
Avatar billede jakoba Nybegynder
03. marts 2001 - 01:09 #2
// Check for både bogstaver og tal i ADRESSE felt
if (thisform.ADRESSE.value == \"\") {
  strError = strError + \'-Adresse mangler\\n\'
  intError = 1;
  thisform.ADRESSE.focus();
} else {
  if ( !/\\D+\\d/..test(thisform.ADRESSE.value) ) {
    strError = strError + \'-Adresse skal være gyldig\\n\'
    intError = 1;
    thisform.ADRESSE.focus();
  }
};

...

// Check for @ og . i email
if ( thisform.MAIL.value == \"\") {
  strError = strError + \'-Fejl i e-mail adressen\\n\'
  intError = 1;
  thisform.MAIL.focus();
} else {
  var at = thisform.MAIL.value.indexOf(\"@\");
  if ( at > 0 && thisform.MAIL.value.substring(at).indexOf(\".\") > 0 ) {
    // email-addr er nok ok
  } else {
    strError = strError + \'-Fejl i e-mail adressen\\n\'
    intError = 1;
    thisform.MAIL.focus();
  }
};

mvh JakobA
Avatar billede jakoba Nybegynder
03. marts 2001 - 01:11 #3
Hovsa. stavefejl:
  if ( !/\\D+\\d/..test(thisform.ADRESSE.value) ) {
skal være
  if ( !/\\D+\\d/.test(thisform.ADRESSE.value) ) {
dvs kun eet punktum foran test
Avatar billede swasper Nybegynder
03. marts 2001 - 01:22 #4
jakoba >> det virker sådan set meget fint, bortset fra at hvis man ikke indtaster noget over hovedet og trykker på submit knappen, så får man to fejl beskeder vedrørende e-mail feltet.
Avatar billede swasper Nybegynder
03. marts 2001 - 01:32 #5
jakoba >> okay nu virker det, men kan du ikke også lige lave sådan at scriptet test POSTNUMMERET for kun at indeholde tal ?
Avatar billede jakoba Nybegynder
03. marts 2001 - 01:42 #6
Jo, men jeg er lidt loren ved det for standarden for postnumre er at de kan angives enten som kun tal (eg: 4000  Roskilde) eller som landekode fulgt af tal (eg DK-4000  Roskilde) så du risikerer at afvise gyldige postnumre med sådan en test. (Hvis du engang har prøvet at udfylde en amerikansk form der insisterede på at få angivet state ved du hvor røvirriterende det er:)

mvh JakobA
Avatar billede swasper Nybegynder
03. marts 2001 - 02:11 #7
Jeg er sikker på at brugeren opdager at man kun kan indtaste tal da der kun kan være 4 cifre i input feltet ?

Du kan da i det mindste lave det, så kan vi jo altid finde ud af om vi vil bruge det ?!
Avatar billede jakoba Nybegynder
03. marts 2001 - 02:24 #8
OK.

// Check et hvilket som helst felt
if (thisform.POSTNUMMER.value == \"\") {
  strError = strError + \'-Postnr mangler\\n\'
  intError = 1;
  thisform.POSTNUMMER.focus();
} else {
  if ( thisform.POSTNUMMER.value.length != 4
      || /\\D/.test(thisform.POSTNUMMER.value) ) {
    strError = strError + \'-Postnr skal være 4 cifre \\n\'
    intError = 1;
    thisform.POSTNUMMER.focus();
  }
};

mvh www.fotx.net/JakobA
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