Avatar billede fusentasten Nybegynder
02. november 2004 - 00:43 Der er 15 kommentarer og
2 løsninger

Form spm: kun medsende udfyldte inputfelter

Hej eksperter
Jeg er ved at lave en smørrebrødsbestilling for den lokale slagter. Siden kan ses her:

http://www.landkokkenet.dk/bestilsmoerrebrod.asp?id=bestilling

Hvordan kan man lave denne form sådan at den KUN medsender informationer fra de felter (madder), som er bestilt?

Det drejer sig bare om at korte mailens længde ned så den fylder så lidt som muligt (= let at læse i et travlt køkken)

ps. de eneste felter, der virker i formen nu er de nederste i adressefeltet.
Avatar billede fusentasten Nybegynder
02. november 2004 - 00:50 #1
ps. Siden har ændret adresse til :
http://www.landkokkenet.dk/bestilfrokost.asp?id=bestilling :-)
Avatar billede fastpoint Nybegynder
02. november 2004 - 00:55 #2
I din database skal du bare sætte dine felter til "Allow Zero Length"
Avatar billede fastpoint Nybegynder
02. november 2004 - 00:56 #3
hvis du klikker på design af et table..
Avatar billede fusentasten Nybegynder
02. november 2004 - 00:56 #4
jeg har skam ingen database... :-)
Det hele er "statisk"
Avatar billede data2k.dk Nybegynder
02. november 2004 - 01:15 #5
Ohh... sorry! Jeg har vist siddet for længe foran skærmen i dag:p
Avatar billede data2k.dk Nybegynder
02. november 2004 - 01:16 #6
Hvor blev min anden post af? skrev ellers det samme som fastpoint
Avatar billede fusentasten Nybegynder
02. november 2004 - 01:19 #7
I dont know :-)

Men min mail kode ser således ud hvis det skulle have interesse:
<%
        '****************** Sender formmail ***************
       
        Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
        Mailer.FromName = Request.form("navn")
       
        Mailer.FromAddress = "hjemmesiden@landkokkenet.dk"
        Mailer.RemoteHost = "mail.landkokkenet.dk"
       
        Mailer.AddRecipient "Landkøkkenet", "info@landkokkenet.dk"
        Mailer.Subject = "Frokostbestilling : " & Request.form("navn")
        Mailer.BodyText =     "Følgende har bestilt et pakketilbud:" & vbcrlf & vbcrlf &_
                            "Firma        : " & Request.form("navn") & vbcrlf &_
                            "Adresse    : " & Request.form("adresse") & vbcrlf &_
                            "Postnr. By    : " & Request.form("postnrby") & vbcrlf &_
                            "Kontakt    : " & Request.form("kontaktperson") & vbcrlf &_
                            "Telefon    : " & Request.form("telefon") & vbcrlf &_
                            "E-mail    : " & Request.form("email") & vbcrlf &_
                            "Levering    : " & Request.form("dato") & " Kl. " & Request.form("dato")

        Mailer.SendMail 
        set mailer = Nothing
%>
Avatar billede hiks Nybegynder
02. november 2004 - 10:52 #8
hej

du kan lave en funktion til det som tjekker din form igennem. Det vil sige at du kan lave et gennemløb af samtlige "inputs" på din form:

For Each Field in Request.Form
    If Request.Form(Field) <> "" Then
        Response.Write Request.Form(Field)
    End If
Next

Håber du kan se mulighederne i det. Ellers så skriver du vel bare igen :o)

/hiks
Avatar billede fusentasten Nybegynder
02. november 2004 - 11:13 #9
Hej Hiks

Mja, det er nok noget i den retning, jeg skal bruge. Men jeg ville blive helt vildt glad for et en kodestump med ovenstående felter som eksempel. Jeg er ikke asp haj overhovedet... Kan det lade sig gøre?

mvh Fusentasten
Avatar billede hiks Nybegynder
02. november 2004 - 11:47 #10
hej

det blev sgu lidt mere omstændigt end jeg lige regnede med. Har lavet to funktioner hvor der er en excludeList (de felter som ikke er varer) således at du kan få en pæn opstilling af navne, adresse osv. og så en liste af madvarer som de kommer på din form og med din navngivning:

<%
Function excluded(felt, arrayExclude) 'finder felter der skal med i mailen som ikke er på din excludelist

    For i = LBound(arrayExclude) to UBound(arrayExclude)
        If Instr(1,LCase(felt),LCase(arrayExclude(i))) > 0 then
            excluded = True 'hvis feltet er ekskluderet
            Exit For
        Else
            excluded = False 'hvis feltet ikke er ekskluderet
        End if
    Next

End Function

Function writeBestilling() 'skriver bestillingen

    dim excludeList 'dine forminputs der ikke er bestillingsvarer men postnr, navn osv.

    excludeList = "navn,postnrby,adresse,klokken,telefon,kontaktperson,dato"
    excludeList = Split(excludeList,",")
        For Each Field in Request.Form
            if excluded(Field, excludeList) = False then
                If Len(Request.Form(Field)) > 0 then
                    writeBestilling = writeBestilling & Field & ": " & Request.Form(Field) & " stk." & vbCrlf
                End if
            End if
        Next

End Function

        '****************** Sender formmail ***************
       
        Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
        Mailer.FromName = Request.form("navn")
       
        Mailer.FromAddress = "hjemmesiden@landkokkenet.dk"
        Mailer.RemoteHost = "mail.landkokkenet.dk"
       
        Mailer.AddRecipient "Landkøkkenet", "info@landkokkenet.dk"
        Mailer.Subject = "Frokostbestilling : " & Request.form("navn")
        Mailer.BodyText =    "Følgende har bestilt et pakketilbud:" & vbcrlf & vbcrlf &_
                            "Firma        : " & Request.form("navn") & vbcrlf &_
                            "Adresse    : " & Request.form("adresse") & vbcrlf &_
                            "Postnr. By    : " & Request.form("postnrby") & vbcrlf &_
                            "Kontakt    : " & Request.form("kontaktperson") & vbcrlf &_
                            "Telefon    : " & Request.form("telefon") & vbcrlf &_
                            "E-mail    : " & Request.form("email") & vbcrlf &_
                            "Levering    : " & Request.form("dato") & " Kl. " & Request.form("dato")
        Mailer.BodyText = Mailer.BodyText & vbCrlf & vbCrlf & "Madbestilling: " & vbCrlf & writeBestilling 'her skriver vi så bestillingen ud!
        Mailer.SendMail 
        set mailer = Nothing

%>

håber du kan bruge det!

/hiks
Avatar billede fusentasten Nybegynder
02. november 2004 - 12:07 #11
hej Hiks

Jeg er fuld af beundring for din hjælpsomhed. Jeg vil teste det igennem lige efter at jeg har spist min frokost :-)
Avatar billede fusentasten Nybegynder
02. november 2004 - 12:44 #12
Hej Hiks

Den laver en fejl i linie 252 :-(
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'BodyText'

/bestilfrokost2.asp, line 253
(Mailer.BodyText = Mailer.BodyText & vbCrlf & vbCrlf & "Madbestilling: " & vbCrlf & writeBestilling 'her skriver vi så bestillingen ud!)

Du kan se siden her med din kode i:
http://www.landkokkenet.dk/bestilfrokost2.asp?id=bestilling
Avatar billede fusentasten Nybegynder
02. november 2004 - 12:49 #13
Hvad sker der hvis man bare fjerner

Mailer.BodyText & vbCrlf & vbCrlf &

fra ovenstående? Så ser det nemlig ud til at virke :-)
Avatar billede hiks Nybegynder
02. november 2004 - 12:50 #14
ok - var heller ikke sikker om man måtte det med bodyteksten... Prøv dette istedet (det ovenstående skal sæføli stadig med!):

        '****************** Sender formmail ***************
        Dim strBody

        Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
        Mailer.FromName = Request.form("navn")
       
        Mailer.FromAddress = "hjemmesiden@landkokkenet.dk"
        Mailer.RemoteHost = "mail.landkokkenet.dk"
       
        Mailer.AddRecipient "Landkøkkenet", "info@landkokkenet.dk"
        Mailer.Subject = "Frokostbestilling : " & Request.form("navn")
        strBody = "Følgende har bestilt et pakketilbud:" & vbcrlf & vbcrlf &_
                            "Firma        : " & Request.form("navn") & vbcrlf &_
                            "Adresse    : " & Request.form("adresse") & vbcrlf &_
                            "Postnr. By    : " & Request.form("postnrby") & vbcrlf &_
                            "Kontakt    : " & Request.form("kontaktperson") & vbcrlf &_
                            "Telefon    : " & Request.form("telefon") & vbcrlf &_
                            "E-mail    : " & Request.form("email") & vbcrlf &_
                            "Levering    : " & Request.form("dato") & " Kl. " & Request.form("dato")

        strBody = strBody & vbCrlf & vbCrlf & "Madbestilling: " & vbCrlf & writeBestilling 'her skriver vi så bestillingen ud!

        Mailer.BodyText = strBody
        Mailer.SendMail 
        set mailer = Nothing
%>
Avatar billede hiks Nybegynder
02. november 2004 - 12:51 #15
nåede ikke lige at se din posting - men det lyder jo godt! :o)

Så er du hjemme?

/hiks
Avatar billede fusentasten Nybegynder
02. november 2004 - 12:55 #16
Hiks. Her er et link til dig:
http://www.optur.dk/

:-)
Avatar billede hiks Nybegynder
02. november 2004 - 12:59 #17
hvordan kunne du vide det? Kan du se mig? hehe

takker for det! :o)

God fornøjelse med smørrebrødet!

/hiks
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
Kurser inden for grundlæggende programmering

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