26. juni 2003 - 14:45
Der er
18 kommentarer og 1 løsning
Vedhæfte fil på mailformular
Jeg er ved at lave en mailformular, hvor brugeren kan vedhæfte en fil. Følgende spørgsmål: Nedenstående kode virker godt nok, men hvorfor får jeg en JavaScript fejl på klientsiden? Hvordan får jeg sendt en eller anden form for reference med, så filen dukker op i "Vedhæftede filer" i mailen? var funktion = Request.querystring("mailfunktion"); var svar = Request.querystring("svar"); var harfejl = false; if(funktion == "sendmail") { var mySmartUpload; var intCount; mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload"); mySmartUpload.Upload(); intCount = mySmartUpload.Save("/../../Databaser/Upload"); var msg = Server.CreateObject("JMail.Message"); msg.logging = true; msg.silent = true; msg.from = mySmartUpload.Form("email"); msg.fromname = mySmartUpload.Form("navn"); msg.addrecipient("hk@vikadata.dk"); msg.subject = "Besked fra website"; msg.body = mySmartUpload.Form("mailcontent"); if(!msg.Send("mail.tele.dk")) { harfejl = true; } else { harfejl = false; Response.redirect( "Kontakt.asp?svar=Mange tak for din besked. Vi vender hurtigst muligt tilbage."); } }
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
hvilken JavaScript fejl? og fra hvilket JavaScript?
I det øjeblik jeg trykker "Send", kommer der en gul JavaScript fejl i nederste venstre hjørne af skærmen: funktion == "sendmail".
er det ikke serversidekode(ASP)?
Det skal jeg ikke gøre mig 100% klog på, men jeg troede egentlig, at det gule tegn var en klientside fejl, og at en serverside fejl står midt på skærmen i stedet for, at siden blier vist.
nej det er sikkert fordi din kode ikke står som den skal: ------------------------------- html <% her skal din serversidekode stå %> mere html -------------------------------
smid evt. hele din kode her
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <% @language="javascript" %> <% var funktion = Request.querystring("mailfunktion"); var svar = Request.querystring("svar"); var harfejl = false; if(funktion == "sendmail") { var mySmartUpload; var intCount; mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload"); mySmartUpload.Upload(); intCount = mySmartUpload.Save("/../../Databaser/Upload"); var msg = Server.CreateObject("JMail.Message"); msg.logging = true; msg.silent = true; msg.from = mySmartUpload.Form("email"); msg.fromname = mySmartUpload.Form("navn"); msg.addrecipient("hk@vikadata.dk"); msg.subject = "Besked fra website"; msg.body = mySmartUpload.Form("mailcontent"); if(!msg.Send("mail.tele.dk")) { harfejl = true; } else { harfejl = false; Response.redirect( "Kontakt.asp?svar=Mange tak for din besked. Vi vender hurtigst muligt tilbage."); } } %> <html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <meta name="generator" content="Adobe GoLive 6"> <title>Velkommen til Vika Data</title> <link href="../../Style.css" rel="stylesheet" media="screen"> <style type="text/css" media="screen"><!-- body { border: solid 1px #e7d069 } --></style> <script type="text/javascript"> function validering() { error = 0; if((document.kontaktformular.navn.value == "") && (error == 0)) { alert("Skriv venligst dit navn."); document.kontaktformular.navn.focus(); error = 1; } if(error == 0) { placering = 0; tekst = (document.kontaktformular.email.value).toLowerCase(); placering = tekst.indexOf("@"); if(tekst == "") { alert ("Skriv venligst din e-mail."); document.kontaktformular.email.focus(); error = 1; } else { tegn = tekst.indexOf(" "); if(tegn != -1) { alert ("Der må ikke være mellemrum i e-mail."); document.kontaktformular.email.focus(); error = 1; } else { if (tekst.indexOf("æ") != -1 || tekst.indexOf("ø") != -1 || tekst.indexOf("å") != -1 || tekst.indexOf("Æ") != -1 || tekst.indexOf("Ø" ) != -1 || tekst.indexOf("Å") != -1 || tekst.indexOf(";") != -1 || tekst.indexOf("," ) != -1) { alert ("E-mail må ikke indeholde: æ ø å Æ Ø Å , ;"); document.kontaktformular.email.focus(); error = 1; } else { if (placering < 1 || tekst.length <= (placering+1)) { alert ("E-mail er forkert. Prøv venligst igen."); document.kontaktformular.email.focus(); error = 1; } } } } } if(error == 0) { if((document.kontaktformular.mailcontent.value == '') && (error == 0)) { alert("Skriv venligst en besked."); document.kontaktformular.mailcontent.focus(); error = 1; } } if(error == 0) { document.uploadformular.submit(); document.kontaktformular.submit(); } } </script> </head> <body leftmargin="0" marginheight="0" marginwidth="0" topmargin="0" onLoad="document.kontaktformular.navn.focus();"> <table width="524" border="0" cellspacing="0" cellpadding="0" cool gridx="16" gridy="16" height="426" showgridx showgridy usegridx usegridy> <tr height="16"> <td width="523" height="16" colspan="9"></td> <td width="1" height="16"><spacer type="block" width="1" height="16"></td> </tr> <tr height="48"> <td width="106" height="48" colspan="4"></td> <td content csheight="32" width="380" height="48" colspan="3" valign="top" xpos="106"> <div align="center"> <span class="overskrift1"><span class="overskrift">Kontakt</span></span></div> </td> <td width="37" height="48" colspan="2"></td> <td width="1" height="48"><spacer type="block" width="1" height="48"></td> </tr> <tr height="32"> <td width="51" height="32" colspan="2"></td> <td content csheight="20" width="352" height="32" colspan="4" valign="top" xpos="51"><span class="broedtekst">Har du spørgsmål eller kommentarer, så send os en mail.</span></td> <td width="120" height="32" colspan="3"></td> <td width="1" height="32"><spacer type="block" width="1" height="32"></td> </tr> <tr height="100"> <td width="16" height="289" rowspan="2"></td> <td width="365" height="289" colspan="4" rowspan="2" valign="top" align="left" xpos="16"> <table border="0" cellspacing="2" cellpadding="0"> <form action="Kontakt.asp?mailfunktion=sendmail" enctype="multipart/form-data" name="kontaktformular" method="post" onsubmit="validering();return false;"> <tr> <td width="68"><span class="broedtekst">Navn</span>:</td> <td colspan="2"><input type="text" name="navn" size="32"></td> </tr> <tr> <td width="68"><span class="broedtekst">E-mail:</span></td> <td colspan="2"><input type="text" name="email" size="32"></td> </tr> <tr> <td valign="top" width="68"><span class="broedtekst">Besked:</span></td> <td colspan="2"><textarea class="broedtekst" name="mailcontent" rows="10" cols="42"></textarea></td> </tr> <tr> <td valign="top" width="68"></td> <td width="119"><input type="submit" value="Send" style="width: 65px"></td> <td><input type="reset" value="Fortryd" style="width: 65px"></td> </tr> <tr> <td valign="top" width="68"><span class="broedtekst">Vedhæft fil:</span></td> <td width="119"><input type="file" name="vedhaeft" size="10"></td> <td></td> </tr> </form> </table> </td> <td width="142" height="100" colspan="4"></td> <td width="1" height="100"><spacer type="block" width="1" height="100"></td> </tr> <tr height="189"> <td content csheight="80" width="134" height="189" colspan="3" valign="top" xpos="381"><span class="broedtekst"><% =svar %></span></td> <td width="8" height="189"></td> <td width="1" height="189"><spacer type="block" width="1" height="189"></td> </tr> <tr height="40"> <td width="68" height="40" colspan="3"></td> <td width="418" height="40" colspan="4" valign="top" align="left" xpos="68"> <table width="196" border="0" cellspacing="0" cellpadding="0"> <tr> <td nowrap><span class="adresse">Ølstedvej 2 B</span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap bgcolor="#867215" width="1"><span class="adresse"></span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap><span class="adresse">Tlf:</span></td> <td nowrap><span class="adresse"> + 45 86 23 03 00</span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap bgcolor="#867215" width="1"><span class="adresse"></span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap><span class="adresse">Web:</span></td> <td nowrap><a href="../Forside.html" target="_self"><span class="adresse"> www.vikadata.dk</span></a></td> </tr> <tr> <td nowrap><span class="adresse">DK - 8200 Århus N</span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap bgcolor="#867215" width="1"><span class="adresse"></span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap><span class="adresse">Fax:</span></td> <td nowrap><span class="adresse"> + 45 86 23 03 66</span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap bgcolor="#867215" width="1"><span class="adresse"></span></td> <td nowrap width="5"><span class="adresse"></span></td> <td nowrap><span class="adresse">E-mail:</span></td> <td nowrap><a href="mailto:hk@vikadata.dk"><span class="adresse"> post@vikadata.dk</span></a></td> </tr> </table> </td> <td width="37" height="40" colspan="2"></td> <td width="1" height="40"><spacer type="block" width="1" height="40"></td> </tr> <tr height="1" cntrlrow> <td width="16" height="1"><spacer type="block" width="16" height="1"></td> <td width="35" height="1"><spacer type="block" width="35" height="1"></td> <td width="17" height="1"><spacer type="block" width="17" height="1"></td> <td width="38" height="1"><spacer type="block" width="38" height="1"></td> <td width="275" height="1"><spacer type="block" width="275" height="1"></td> <td width="22" height="1"><spacer type="block" width="22" height="1"></td> <td width="83" height="1"><spacer type="block" width="83" height="1"></td> <td width="29" height="1"><spacer type="block" width="29" height="1"></td> <td width="8" height="1"><spacer type="block" width="8" height="1"></td> <td width="1" height="1"></td> </tr> </table> <% if(harfejl) { Response.write("<script>history.back(-1); alert(\"Din besked er ikke blevet sendt. Chek venligst din e-mail og prøv igen.\");</script>"); } %> </body> </html>
prøv at fjerne denne linie: document.uploadformular.submit();
Ups, det var en gammel rest fra mine tidligere forsøg. Nu er fejlen væk!
26. juni 2003 - 16:08
#10
msg.AddAttachment("c:\mappe\billed.fil")
27. juni 2003 - 08:30
#11
Jeg er ikke lige helt sikker på, hvad der skal stå: msg.AddAttachment("/../../Databaser/Upload" ???) Skal jeg ikke bruge "vedhaeft"?
27. juni 2003 - 08:48
#12
prøv med: msg.AddAttachment(Server.MapPath("../../Databaser/Upload"+mySmartUpload.Files("vedhaeft").FileName);
27. juni 2003 - 08:56
#13
Expected ')' Er det mon til sidst lige før ;? altså ...FileName));
27. juni 2003 - 08:59
#14
sorry :o) msg.AddAttachment(Server.MapPath("../../Databaser/Upload"+mySmartUpload.Files("vedhaeft").FileName));
27. juni 2003 - 09:02
#15
Jeg prøver at uploade en fil, der hedder Afstemning.asp: jmail.Message error '8000ffff' Cannot open file F:\nytsite.vikadata.dk\Databaser\UploadAfstemning.asp /Sider/Kontakt/Kontakt.asp, line 33
27. juni 2003 - 09:07
#16
prøv med en anden evt. et billede og tjeck på din server om stien er korrekt
27. juni 2003 - 09:18
#17
Der manglede bare lige en / efter Upload: msg.AddAttachment(Server.MapPath("../../Databaser/Upload/"+mySmartUpload.Files("vedhaeft").FileName)); Så nu virker det! Gid jeg var lige så god som dig!
27. juni 2003 - 09:29
#18
Jeg tror ikke, at jeg kan give dig point, når du "kun" har sendt en kommentar og ikke et svar.
27. juni 2003 - 09:46
#19
hehe :o) det kommer hurtigt - og du er på rette kurs så længe du holder dig til JavaScript :o)
Vi tilbyder markedets bedste kurser inden for webudvikling