Avatar billede haastrup Novice
10. maj 2010 - 11:00 Der er 2 kommentarer og
1 løsning

Formmail validering submitter selvom der er fejl

Hej alle eksperter,

Har en formular som jeg har prøvet at validere med et javascript.

Dog sendes formularen stadig afsted selvom javascriptet melder om en fejl i brugerens indtastning.

JEg fornemmer at det er fordi jeg ikke har skilt de to ting ad, altså scriptet der tjekker og selve afsendelsen af filen, men det er her jeg går i baglås, for hvordan gør jeg det?

Håber i kan hjælpe.

På forhånd mange tak.

Mvh
Allan Haastrup

Jeg paster scriptet og selve FORM delen af formularen nedenunder:

<html><head>


<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Bliv V.I.P. - få fordele, gaver, tilbud o. lign.</title>
<script type="text/javascript">

function validering()
  {
  error = 0;

  if((document.forms[0].Fornavn.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit fornavn');
    document.forms[0].Fornavn.focus();
    error = 1;       
  }

  if((document.forms[0].Efternavn.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit efternavn');
    document.forms[0].Efternavn.focus();
    error = 1;       
  }   
   
  if((document.forms[0].Adresse.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din adresse');
    document.forms[0].Efternavn.focus();
    error = 1;       
  }   

  if((document.forms[0].Postnr.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med dit postnummer');
    document.forms[0].Postnr.focus();
    error = 1;       
  }   

  if((document.forms[0].By.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din by');
    document.forms[0].By.focus();
    error = 1;       
  }   

  if((document.forms[0].E-mail.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med din E-mail');
    document.forms[0].E-mail.focus();
    error = 1;       
  }   

  if((document.forms[0].E-mail2.value=='') && (error==0)) 
  {       
    alert('Du skal bekræfte din E-mail adresse');
    document.forms[0].E-mail2.focus();
    error = 1;       
  }   

    if((document.forms[0].Fundet-Via.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde feltet med hvordan du fandt vores side');
    document.forms[0].Fundet-Via.focus();
    error = 1;       
  }   

 
  if(error == 0)
  document.forms[0].submit();   
  }

</script>
</head><body>


<FORM method="post" onsubmit="validering();return false;" action="http://www.tjenpengeonline.dk/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="info@tjenpengeonline.dk">
<input type="hidden" name="subject" value="Tilmelding som VIP i kundeklubben">
<input type="hidden" name="redirect" value="../tak.html">
<p align="center"><input value="Send" name="B1" type="submit">
</FORM>
</body></html>
Avatar billede zips Juniormester
10. maj 2010 - 16:23 #1
Nu ved jeg ikke hvilken af din 3 spørgsmål du har stillet om dette, men fejle er at du bruger denne - bindestreg til at adskille dine navne som E-mail, E-mail2 og Fundet-Via

Så skal du adskille det med noget, skal det være med et underscroll tegn, så det bliver sådan E_mail, E_mail2 og Fundet_Via

Husk at rette alle de steder du har skrevet de navne med bindestreg
Avatar billede olebole Juniormester
10. maj 2010 - 16:29 #2
<ole>

- og egentlig er en bindestreg ganske valid i en name attribut i HTML, men JavaScriptet fejler. Du kan f.eks. ikke skrive:

if((document.forms[0].E-mail.value=='') && (error==0))

- men skal i stedet skrive:

if((document.forms[0].elements['E-mail'].value=='') && (error==0))

- men det er langt mere sikkert at holde dig fra alt andet end underscore, tal og internationale bogstaver (a-z)  ;o)

/mvh
</bole>
Avatar billede haastrup Novice
25. juli 2010 - 15:43 #3
Tak for hjælpen.
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