Avatar billede peterkopi Nybegynder
09. juni 2005 - 14:17 Der er 9 kommentarer og
1 løsning

Fejl i validering af formular

Hej!

Når jeg submitter denne formular, får jeg en "fejl" i valideringen, der ikke anerkender mit emne (subject) i formularen. I valieringen popper der en alert op med "Vær venlig at angive et emne".
Jeg har tilføjet <select option> i stedet for formularens oprindelige <INPUT TYPE="text" NAME="Subject" ...>, men kan altså ikke få formularen til at fungere.

Her er hele siden med kontaktformularen:

<!-- Kontaktformular -->
<SCRIPT LANGUAGE=javascript>
<!--
// JavaScript zur Überprüfung der Formulareingaben
function validate(contactForm){
    if (contactForm.Name.value == "" || contactForm.Name.value.length < 2){
        alert("<%=Alert_Name%>");
        contactForm.Name.focus();
        return false;
    }
    if (contactForm.Email.value == "" || contactForm.Email.value.indexOf('@',1)== -1 || contactForm.Email.value.indexOf('.',2)==-1){
        alert("<%=Alert_Email%>");
        contactForm.Email.focus();
        return false;
    }
    if (contactForm.Subject.value == "" || contactForm.Subject.value.length < 2){
        alert("<%=Alert_Subject%>");
        contactForm.Subject.focus();
        return false;
    }
    if (contactForm.body.value == "" || contactForm.body.value.length < 2){
        alert("<%=Alert_Text%>");
        contactForm.body.focus();
        return false;
    }
return true;
}
//-->
</SCRIPT>
<BR><SPAN><H3 CLASS="post-title"><%=ContactName%></H3></SPAN><BR><BR>
<P>Du kan kontakte mig vedr. min bog, mine foredrag, denne hjemmeside og meget mere på nedenstående kontaktformular.<BR>Foretrækker du i stedet at ringe eller skrive mig et brev, kan du benytte disse kontaktoplysninger:</P>
<P><B>Thomas Vilhelm<BR></B>
Guldbergsgade 12, 3. tv.<BR>
2200 København N<BR><BR>Tlf. 39 27 63 77
<BR><BR>E-mail:&nbsp;<A HREF="mailto:Thomas@thomasvilhelm.dk?subject=Fra hjemmesiden">Thomas@thomasvilhelm.dk</A><BR><BR>
<FORM NAME="contactForm" METHOD="post" ACTION="../includes/send.asp" ONSUBMIT="return validate(this);">
<TABLE WIDTH="90%" BORDER="0" CELLPADDING="3" CELLSPACING="0">
<TR><TD><STRONG><%=Contact_Name%></STRONG></TD><TD><INPUT TYPE="text" NAME="Name" WIDTH="30" STYLE="width:335px; color:#6699CC;font-weight:normal;font-size:9pt;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid #6699CC;" TABINDEX="1"></TD></TR>
<TR><TD><STRONG><%=Contact_Email%></STRONG></TD><TD><INPUT TYPE="text" NAME="Email" WIDTH="30" STYLE="width:335px; color:#6699CC;font-weight:normal;font-size:9pt;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid #6699CC;" TABINDEX="2"></TD></TR>
<TR><TD><STRONG><%=Contact_Betreff%></STRONG></TD><TD>
<!-- <INPUT TYPE="text" NAME="Subject" WIDTH="30" STYLE="width:300px; color:#6699CC;font-weight:normal;font-size:9pt;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid #6699CC;" TABINDEX="3"> -->
<select NAME="Subject" TABINDEX="3">
                    <OPTION>Alle foredrag</OPTION>
          <OPTION>Ønske om særligt foredrag</OPTION>
          <OPTION>Foredrag: Fra "Nationens fødsel" til "King Kong"</OPTION>
          <OPTION>Foredrag: På arbejde i fabrikken</OPTION>
          <OPTION>Foredrag: Jazz, ungdomsoprør og den gode historie</OPTION>
          <OPTION>Foredrag: Det kreative parløb</OPTION>
          <OPTION>Foredrag: De musikalske billedskabere</OPTION>
          <OPTION>Foredrag: Kvindeskæbner i lyd og lys</OPTION>
                    <OPTION>Bogen "Det Visuelle Øre"</OPTION>
          <OPTION>Kommentar til hjemmesiden</OPTION>
          <OPTION>Spørgsmål til Thomas Vilhelm</OPTION>
          <OPTION>Andet:</OPTION>
          <OPTION SELECTED>Vælg emne!</OPTION>
        </SELECT></TD></TR>
<TR><TD><STRONG><%=Contact_Text%></STRONG></TD><TD><TEXTAREA NAME="body" COLS="60" ROWS="7" STYLE="width:335px; height:80px; color:#7793AD;font-weight:normal;font-size:9pt;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid #7793AD;" TABINDEX="4"></TEXTAREA></TD></TR>
<TR><TD COLSPAN="2" ALIGN="center"><INPUT TYPE="submit" VALUE="<%=Button_Senden%>" style="width:100px; color:#7793AD; font-weight:bold;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid;" tabindex="5"> <INPUT TYPE="Reset" VALUE="<%=Button_Loeschen%>" style="width:100px; color:#7793AD; font-weight:bold;background-color:#ffffff;border-width:1px; border-color:#6699CC;border:1px solid;" tabindex="6"></TD></TR>
</TABLE>
</FORM>

Nogen der kan hjælpe mig videre?
Avatar billede peterkopi Nybegynder
09. juni 2005 - 14:18 #1
Som det fremgår har jeg udkommenteret den oprindelige <subject>!
Avatar billede roenving Novice
09. juni 2005 - 14:29 #2
Du har jo slet ikke angivet nogen value på dine options, så value vil jo altid være ingenting !-)

-- så enten skal du sætte value på dine options, som så også vil være den værdi, du kan aflæse fra dem:

<option value="alle">Alle foredrag</option>

-- eller du kan bruge et andet check og lave om på rækkefølgen, så 'Vælg emne!' kommer forrest:

<select name="Subject" tabindex="3">
          <option>Vælg emne!</option>

-- og så skal der checkes således:

    if (contactForm.Subject.selectedIndex == 0){
        alert("<%=Alert_Subject%>");
        contactForm.Subject.focus();
        return false;
    }

-- forøvrigt giver det ingen mening først at checke om der ingenting er som værdi og bagefter checke om der er mindre end 2 karakterer, for det sidste omfatter jo også 0 karakterer, altså ingenting, så du kan spare en anelse båndbredde, ved at:

    if (contactForm.Name.value.length < 2){
        alert("<%=Alert_Name%>");
        contactForm.Name.focus();
        return false;
    }
Avatar billede peterkopi Nybegynder
09. juni 2005 - 14:38 #3
Hej roenving - er i gang! Jeg går ud fra, at jeg ikke kan benytte citationstegn, mellemrum og danske karakterer i OPTION VALUE, og skrive fx :

<option value="Fra "Nationens fødsel" til "King Kong"">Fra "Nationens fødsel" til "King Kong"</option>

...men er nødt til at benytte fx nummerering eller alfabetisk "kode" som fx:

<option value="foredrag1">Fra "Nationens fødsel" til "King Kong"</option>

Er det rigtigt?
Avatar billede peterkopi Nybegynder
09. juni 2005 - 14:39 #4
Med alfabetisk kode mener jeg fx en fortløbende betegnelse for values som a, b, c, d o.s.v., subsidiært nummerisk 1, 2, 3 o.s.v.
Avatar billede roenving Novice
09. juni 2005 - 14:54 #5
Jo, du kan godt bruge alle mulige tegn i en tekststreng, som value er, men nogle tegn skal escapes med \ ...

F.eks.

<option value="Fra \"Nationens fødsel\" til \"King Kong\"">Fra "Nationens fødsel" til "King Kong"</option>

-- og at escape en karakter betyder, at den skal tages bogstaveligt og ikke have specialbetydning, her som start/afslutter på strengen ...

Iøvrigt tillader både html og javascript, at du også bruger 'er som streng-afgrænsere, så du kan bare:

<option value='Fra "Nationens fødsel" til "King Kong"'>Fra "Nationens fødsel" til "King Kong"</option>
Avatar billede peterkopi Nybegynder
17. juni 2005 - 16:55 #6
roenving: Dit svar 09/06-2005 14:29:17 gav mig det jeg manglede. Formularen fungerer for så vidt nu. Nu mangler jeg bare at finde ud af, hvorfor den ikke bliver sendt videre via Cliche's SMTP..? Man bliver uden problemer redirected til "takke-siden" efter at have submittet formularen, men der kommer intet ud af den anden ende...

Lægger du et svar, roenving?
Avatar billede peterkopi Nybegynder
22. juni 2005 - 23:29 #7
roenving..? Er du rar at lægge et svar, pls?
Avatar billede roenving Novice
23. juni 2005 - 13:40 #8
Velbekomme '-)

-- jeg har jo desværre også været ramt af Ekspertens mail-problem !-)
Avatar billede peterkopi Nybegynder
23. juni 2005 - 14:34 #9
Ja, jeg skal lige love for, at mails her inde fra kommer i stimer. Tror jeg har fået omkring 15 i dag! Tak for hjælpen, roenving
Avatar billede roenving Novice
23. juni 2005 - 14:40 #10
Tjah, jeg har omkring 600 konversationer (gmail samler mail sammen i konversationer !-), og hvis det stadig holder med at der er gennemsnitligt 5 mails pr. konversation, bliver det altså 3000 på det sidste døgn ...

-- og tak for point ;~}
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