Avatar billede kibber Nybegynder
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.");
  }
}
Avatar billede mm12010 Nybegynder
26. juni 2003 - 15:00 #1
hvilken JavaScript fejl?

og fra hvilket JavaScript?
Avatar billede kibber Nybegynder
26. juni 2003 - 15:09 #2
I det øjeblik jeg trykker "Send", kommer der en gul JavaScript fejl i nederste venstre hjørne af skærmen: funktion == "sendmail".
Avatar billede mm12010 Nybegynder
26. juni 2003 - 15:12 #3
er det ikke serversidekode(ASP)?
Avatar billede kibber Nybegynder
26. juni 2003 - 15:17 #4
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.
Avatar billede mm12010 Nybegynder
26. juni 2003 - 15:26 #5
nej det er sikkert fordi din kode ikke står som den skal:
-------------------------------
html
<%
her skal din serversidekode stå
%>
mere html
-------------------------------
Avatar billede mm12010 Nybegynder
26. juni 2003 - 15:29 #6
smid evt. hele din kode her
Avatar billede kibber Nybegynder
26. juni 2003 - 15:30 #7
<!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&oslash;rgsm&aring;l eller kommentarer, s&aring; 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&aelig;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">&Oslash;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">&nbsp;+ 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">&nbspwww.vikadata.dk</span></a></td>
                        </tr>
                        <tr>
                            <td nowrap><span class="adresse">DK - 8200 &Aring;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">&nbsp;+ 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">&nbsppost@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>
Avatar billede mm12010 Nybegynder
26. juni 2003 - 15:53 #8
prøv at fjerne denne linie:

document.uploadformular.submit();
Avatar billede kibber Nybegynder
26. juni 2003 - 15:55 #9
Ups, det var en gammel rest fra mine tidligere forsøg. Nu er fejlen væk!
Avatar billede mm12010 Nybegynder
26. juni 2003 - 16:08 #10
msg.AddAttachment("c:\mappe\billed.fil")
Avatar billede kibber Nybegynder
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"?
Avatar billede mm12010 Nybegynder
27. juni 2003 - 08:48 #12
prøv med:

msg.AddAttachment(Server.MapPath("../../Databaser/Upload"+mySmartUpload.Files("vedhaeft").FileName);
Avatar billede kibber Nybegynder
27. juni 2003 - 08:56 #13
Expected ')'

Er det mon til sidst lige før ;? altså ...FileName));
Avatar billede mm12010 Nybegynder
27. juni 2003 - 08:59 #14
sorry :o)

msg.AddAttachment(Server.MapPath("../../Databaser/Upload"+mySmartUpload.Files("vedhaeft").FileName));
Avatar billede kibber Nybegynder
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
Avatar billede mm12010 Nybegynder
27. juni 2003 - 09:07 #16
prøv med en anden evt. et billede

og tjeck på din server om stien er korrekt
Avatar billede kibber Nybegynder
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!
Avatar billede kibber Nybegynder
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.
Avatar billede mm12010 Nybegynder
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)
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