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 fra Computerworld it-jobbank
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