Avatar billede kokholm Nybegynder
02. april 2007 - 19:37 Der er 6 kommentarer og
1 løsning

Formular med radiobutton

Hej,

Jeg skal bruge en formular med navn, adresse, osv

det er jo ganske nemt men der skal være et par radiobuttons ovenover formularen som afgør hvilket dukument den besøgense skal have tilsendt.

Altså:


Vælg hviket dokument du ønsker tilsendt:
O Dokument 1
O Dokument 2

Navn
Adresse
Postnr
By

Send  Slet

Ovenstående oplysninger skal samtidigt skrives ind i access

Jeg har ASPmail komponenenten installeret.

Håber virkelig nogen kan / vil hjælpe mig da jeg virkelig står og mangler denne funktion

// Ole.
Avatar billede Slettet bruger
02. april 2007 - 21:19 #1
hej Ole

Her er et eksempel:

- men hvordan skal vi kunne sende mailen hvis vi ikke ved hvilken adresse den skal sendes til?

men her eksemplet:

<%
if request.querystring("act")="send" then
    if request.form("dokument")=1 then
    body = "Dette er dokument 1"
    elseif request.form("dokument")=2 then
    body = "Dette er dokument 2"
    end if
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "MAIL FRA"
Mailer.FromAddress = "MailFra@domæne.dk"
Mailer.RemoteHost = "mail.server.dk"
Mailer.AddRecipient request.form("navn"), "MailTil@domæne.dk"
Mailer.Subject    = "EMNE"
Mailer.BodyText  = "din mails indhold"
if Mailer.SendMail then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("data.mdb")
rs.execute("insert into tabel (navn, adresse, postnr, city) values ('" & request.form("navn") & "', '" & request.form("adresse") & "', '" & request.form("postnr") & "', '" & request.form("city") & "')"
Conn.close
set Conn=nothing
end if
set Mailer=nothing
response.write "mailen er hermed sendt!"
end if
%>
<html>
<head>
</head>
<body>
<form action="<%=request.servervariables("script_name")%>?act=send" method="post">
Dokument1: <input type="radio" name="dokument" value="1" checked="checked">
<br>
Dokument1: <input type="radio" name="dokument" value="2">
<br>
Navn: <input type="text" name="navn" size="20">
<br>
Adresse: <input type="text" name="adresse" size="20">
<br>
Postnr: <input type="text" name="postnr" size="20">
<br>
By: <input type="text" name="city" size="20">
<br>
<input type="submit" name="submit" value="Send">
</form>
</body>
</html>

- der ville nok også være noget fornuft i at lave lidt validering...

\Dan
Avatar billede kokholm Nybegynder
03. april 2007 - 19:23 #2
Hej Dan,

hehe - jo selvfølgelig skal der også være et felt med email - sprang bare lige det felt plus et par andre over ofr at gøre det overskueligt...

Dokumentet som den besøgende vælger (dok1 el. dok2) vil være et pdf-dok og skal kunne vedhæftes... - hvordan gøres det i eksemplet du har lavet?

Super at du vil hjælpe...

// Ole
Avatar billede Slettet bruger
03. april 2007 - 21:46 #3
hejsa

for at lave en vedhæfning i stedet skal det være noget a la det her:

<%
if request.querystring("act")="send" then
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "MAIL FRA"
Mailer.FromAddress = "MailFra@domæne.dk"
Mailer.RemoteHost = "mail.server.dk"
Mailer.AddRecipient request.form("navn"), "MailTil@domæne.dk"
Mailer.Subject    = "EMNE"
Mailer.BodyText  = "din mails indhold"
Mailer.AddAttachment (server.mappath(request.form("dokument")))
if Mailer.SendMail then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("data.mdb")
rs.execute("insert into tabel (navn, adresse, postnr, city) values ('" & request.form("navn") & "', '" & request.form("adresse") & "', '" & request.form("postnr") & "', '" & request.form("city") & "')"
Conn.close
set Conn=nothing
end if
set Mailer=nothing
response.write "mailen er hermed sendt!"
end if
%>
<html>
<head>
</head>
<body>
<form action="<%=request.servervariables("script_name")%>?act=send" method="post">
Dokument1: <input type="radio" name="dokument" value="dokument1StiOgNavn" checked="checked">
<br>
Dokument1: <input type="radio" name="dokument" value="dokument2StiOgNavn">
<br>
Navn: <input type="text" name="navn" size="20">
<br>
Adresse: <input type="text" name="adresse" size="20">
<br>
Postnr: <input type="text" name="postnr" size="20">
<br>
By: <input type="text" name="city" size="20">
<br>
<input type="submit" name="submit" value="Send">
</form>
</body>
</html>

husk på at værdien i dine radiobuttons her skal være stien og navnet på dine pdf-dokumenter. Og det skal betragtes som server.mappath...

\Dan
Avatar billede kokholm Nybegynder
07. april 2007 - 12:07 #4
Hej Dan,

Hvad kan grunden være til at den sender det samme dokument uanset hvilket valg man træffer.

Sådan ser min radiobuttons ud på siden hvor formularen er:

<INPUT type=radio name=dokument value=E:\Websites\dok\dok1.pdf> Dok 1
<INPUT type=radio name=dokument value=E:\Websites\dok\dok2.pdf> Dok 2

Sådan vedhæfter jeg dokumentet på den efterfølgende side som efterbehandler dataene til database og aspmail:

Dokument = Cstr(request.form("dokument"))

Mailer.AddAttachment Dokument

Har du et fif til hvordan jeg kan indskrive i databasen hvilken fil den besøgende har ønsket tilsendt?

// Ole.
Avatar billede Slettet bruger
08. april 2007 - 23:25 #5
Hej Ole

lige hvad grunden er til at den sender det samme dokument ved jeg ikke - men jeg må konstatere at din value i dine radiobuttons er forkerte. Det skal jo være server.mappath-metoden efter det asp-dukument du allerede står i.

for eksempel sådan her:

<INPUT type="radio" name="dokument" value="dokumenter/dok1.pdf"> Dok 1
<INPUT type="radio" name="dokument" value="dokumenter/dok2.pdf"> Dok 2

husk i øvrigt gåseøjnene i dine input-tags...

\Dan
Avatar billede kokholm Nybegynder
09. april 2007 - 11:24 #6
Hej Dan,

Suverænt, -nu virker det !
Det er nogen gange det der med ikke at kunne se skoven for bare træer. ;-)
Tusind gange mange tak for din hjælp. - dumper du lige et svar til point?

Har du et bud på hvordan jeg kan indsætte i databasen hvilket dokument den besøgende ønskede tilsendt?
Avatar billede Slettet bruger
09. april 2007 - 14:55 #7
Hej Ole

det var da godt at det virker...

hvis du skal indsætte det i databasen hvilket dokument der er sendt skal det bare tilføjes i din sql-sætning. Noget a la det her:

rs.execute("insert into tabel (navn, adresse, postnr, city, dokument) values ('" & request.form("navn") & "', '" & request.form("adresse") & "', '" & request.form("postnr") & "', '" & request.form("city") & "', '" & request.form("dokument") & "')"


- og så skal der selvfølgelig også oprettes en kollonne i tabellen som hedder "dokument"...

\Dan
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