Avatar billede souledout Nybegynder
04. december 2002 - 17:40 Der er 8 kommentarer og
1 løsning

Form-check virker ikke

Hej
Hvorfor vil den ikke check min form??? Ingen script-fejl eller noget... men den sender mig videre lige gyldigt om felterne er udfyldt eller ej!!

Indholdet af min html-fil er:

<--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
    <TITLE>Kontakt b-minor</TITLE>

<SCRIPT LANGUAGE=JavaScript>

function valider(form) {   
  if ( form.navn.value.length > 0 ) {     
  } else {
      alert ("Vi vil gerne vide hvad du hedder");
      form.navn.focus();
      return false;
  };

// Brugeren SKAL indtaste e-mail OG-ELLER telefon nummer...
  if ( form.email.value.length > 0 ) {     
  } else if ( form.tlfnummer.value.length > 0 ) {
  } else {
      alert ("Du skal skrive en e-mailadresse og/eller et telefonnummer for at vi kan kontakte dig");
      form.email.focus();
      return false;
  };


//Check e-mailens gyldighed
if ( /^[\da-z\._\-]{1,50}@[\da-z\._\-]{1,50}\.[\da-z_]{1,3}$/.test(form.email.value) ) {
  } else {
      alert ("Feltet "E-mail" er ikke udfyldt med en gyldig e-mail adresse");
      form.email.focus();
      return false;
  };


  return true;
};
</SCRIPT>

<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK REL="stylesheet" HREF="../css/b-minor.css" TYPE="text/css">
</HEAD>
<BODY CLASS="kontakt">
<FORM ACTION="jmail.asp" METHOD="POST" NAME="form" onSubmit="return valider(form)">
<TABLE CLASS="transparent">
<CAPTION ALIGN="left"><B><Kontakt-information:</B></CAPTION>
  <TR>
    <TD CLASS="kontakt" width="20">Navn:</TD>
    <TD><INPUT NAME="navn" size=26></TD>
  </TR>
  <TR>
    <TD CLASS="kontakt">E-mail:</TD>
    <TD><INPUT NAME="email" size=26></TD>
  </TR>
    <TR>
    <TD CLASS="kontakt">Telefon:</TD>
    <TD><INPUT NAME="tlfnummer" size=8></TD>
  </TR>

  <TR>
    <TD CLASS="kontakt">Ang&aring;ende:</TD>
        <TD><TEXTAREA WRAP="physical" ROWS="8"  NAME="andet"></TEXTAREA></TD>
  </TR>
    <TR>
    <TD>&nbsp;</TD>
    <TD><BR><INPUT type="submit" value="Send"> <INPUT type="Reset" value="Nulstil"></TD>
  </TR>
</TABLE>


</FORM>

</BODY>
</HTML>

---------------------------------------------------------->

Hvad er der galt??

/SouledOut
Avatar billede halnet Nybegynder
04. december 2002 - 18:03 #1
Du har ikke kopieret denne linie korrekt!
if ( /^[\da-z\._\-]{1,50}@[\da-z\._\-]{1,50}\.[\da-z_]{1,3}$/.test(form.email.value) ) {

I øvrigt er det spild af loadtid når du skriver:
if (whatever > 0) {
} else {
    //doSomething
}
Det skal skrives:
if (whatever <= 0) {
    //doSomething
}

Og så er det ikke nødvendigt med ; i slutningen af linien :)

// Hal
Avatar billede souledout Nybegynder
04. december 2002 - 18:07 #2
"Du har ikke kopieret denne linie korrekt!
if ( /^[\da-z\._\-]{1,50}@[\da-z\._\-]{1,50}\.[\da-z_]{1,3}$/.test(form.email.value) ) {"

Hvad skal der da stå??
Avatar billede Slettet bruger
05. december 2002 - 14:31 #3
onSubmit skal være:

onSubmit="return valider(this.form);"
Avatar billede 7th Praktikant
05. december 2002 - 14:34 #4
Du mangler også en reference til hvilket inputfelt der skal tjekkes (du har glemt document. foran), det vil sige f.eks document.form.navn.value.length
Avatar billede Slettet bruger
05. december 2002 - 14:36 #5
7th>> Nej, han har jo en reference fra formen sendt med til funktionen!
Avatar billede halnet Nybegynder
05. december 2002 - 14:37 #6
onSubmit skal være:
onSubmit="return valider(this);"

Virker også... lidt kortere :)
Avatar billede Slettet bruger
05. december 2002 - 14:42 #7
halnet>> Det er også korrekt. Jeg tænkte bare i andre baner. Undskyld! :)
Avatar billede 7th Praktikant
05. december 2002 - 14:42 #8
Ups ja phoenixv :)

Lidt til email check.

// definerer en regular expression variabel som skal checke email adresse
// dog mangler check for xxx.@xxx.xxx at blive tilføjet i variablen

var emailcheck = /^[a-z0-9]+[a-z0-9\.\-\_]*@[a-z0-9]+(([\.\-][a-z0-9]+)?)*\.[a-z]{2,4}$\,i/;
var dobbeltdotcheck = /\.\./,i/;
var dotalignacheck = /\.@/,i/;

if ((document.form.inputfelt.value.match (emailcheck) == false) || (document.kontakt.email.value.match (dotalignacheck) == true) || (document.kontakt.email.value.match (dobbeltdotcheck) == true)))
{
gør et eller andet...
}
Avatar billede Slettet bruger
29. april 2003 - 22:55 #9
at lukke? :)
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