Avatar billede takys Nybegynder
10. oktober 2005 - 18:54 Der er 7 kommentarer og
1 løsning

Hvad går galt -en formmail

Hejsa
HVorfor virker denne formmail ikke. Jeg har snart stirret mig blind. Den sender fint en mail til mig. men der er ikke nogle af de intastede oplysninger fra html-siden. HJÆLPP


----


<HTML>
<HEAD>
<TITLE>tilmelde</TITLE>

</HEAD>
<BODY BACKGROUND="bag.JPG" TEXT="#000080" LINK="#00007F" VLINK="#9FBFEF" ALINK="#FF0000">

<B><I>Her kan du bestille et billede i god kvalitet<BR>Hvordan ??:<BR>Udfyld nedenstående skeam, og jeg sender det til dig. <BR>Udfyld felterne herunder, og tryk så på sendknappen.</I></B>


<!-- Her her kommer det table som brugeren skal indtaste sine oplysninger i -->
<form name="form_data">
<center>
<table border="0" width="38%">
  <tr>
    <td width="1%" align="left">Fornavn:</td>
    <td width="54%" align="left" colspan="2"><input name="fornavn" type="text">
    </td>
  </tr>
  <tr>
    <td width="1%" align="left">Efternavn:</td>
    <td width="54%" align="left" colspan="2"><input name="efternavn" type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">Billednavn:</td>
    <td width="54%" align="left" colspan="2"><input name="Billednavn" type="text">
    </td>
  </tr> 
<tr>
    <td width="1%" align="left">År:</td>
    <td width="54%" align="left" colspan="2"><input name="aar" type="text">
    </td>
  </tr> 
<tr>
    <td width="1%" align="left">I menu..:</td>
    <td width="54%" align="left" colspan="2"><input name="menu" type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">Din mailadr.:</td>
    <td width="54%" align="left" colspan="2"><input name="mail" type="text">
    </td>
  </tr>
<tr>

      <td width="1%" align="left">HVorfor:</td>
      <td width="54%" align="left" colspan="2">
      <select name="type" size="1" tabindex="1">
      <option value="Fantastisk motiv">Fantastisk motiv</option>
      <option value="Fænemonalt motiv">Fænemonalt motiv</option>
      </select>
    </td>
  </tr>
</table>
</form>


<!-- Her er det script, som er skjult for brugeren. Denne form henter oplysningerne fra vores table,
og organisere dem i en besked. Efter dette kommer der så en alert, som konfirmere at du har indsendt.
Den bruger navnet, og har man glemt at skrive dette, beder alerten om den. Ellers for man sin konfirmation,
og derefter sendes man tilbage til den side man kom fra. -->


<script>
function opdater_lav_brev_form ()
{
var nu =new Date 
var ugedag=nu.getDate()
var moned=nu.getMonth()+1
var aar=nu.getYear()   

var fornavn= document . form_data . fornavn . value;
var efternavn= document . form_data . efternavn . value;
var Billednavn= document . form_data . billednavn . value;
var aar= document . form_data . aar . value;
var menu= document . form_data . menu . value;
var mail= document . form_data . mail . value;
var type= document . form_data . type . value;


  document.lav_brev_form.message_body.value =
   
    "Fornavn"
    +","
    +"Efternavn"
    +","
    +"BIllednavn"
    +","
    + "aar"
    +","
    + "menu"
    +","
    + "mail"
    +","
    +"Dato"
    + "\n"
   
    +fornavn
    +","
    +efternavn
    +","
    +Billednavn
    +","
    +aar
    +","
    +menu
    +","
    +mail
    +","
    +moned
    +"."
    +aar
if(fornavn=="")

{alert("Husk at skrive hele dit navn");return false;}

if(efternavn=="")
{alert("Husk at skrive hele dit navn");return false;}


else
    {alert("Tak for din henvendelse "+fornavn+" "+efternavn+"."+"\n"+" Du har valgt "+Billednavn+" fra "+menu+" " i "+aar+", sendt til "+mail+"."+"\n"+" Dine oplysninger bliver nu sendt, og vil blive behandlet hutigst muligt.")
    return true
    history.back()}

}



</script>

<table border="0" width="68%">
  <tr>
    <td width="64%"></td>
    <td width="36%"><form name    ="lav_brev_form"
      method="post"
      enctype="multipart/form-data"
      action="mailto:takys@adslhome.dk?subject=Dataindsendelse fra form"
      onSubmit="return opdater_lav_brev_form ();"><p align="left">
          <input type=hidden name="message_body"><input type=submit value="Send" >
</form></td>
  </tr>
</table>
<!-- Her over er så det script, som opsamler den besked, som blev sammensat af den skjulte form.
Dette script sender det også som mail. -->



&nbsp;
<p>&nbsp;</p>


</BODY>
</HTML>
Avatar billede trekkies Juniormester
10. oktober 2005 - 21:12 #1
Det ser ud til at du har mellemrum mellem ting:

var fornavn= document . form_data . fornavn . value;
var efternavn= document . form_data . efternavn . value;
var Billednavn= document . form_data . billednavn . value;
var aar= document . form_data . aar . value;
var menu= document . form_data . menu . value;
var mail= document . form_data . mail . value;
var type= document . form_data . type . value;

Prøv at fjern mellemrummet, så der kommer til at stå sådan:

var fornavn= document.form_data.fornavn.value;
var efternavn= document.form_data.efternavn.value;
var Billednavn= document.form_data.billednavn.value;
var aar= document.form_data.aar.value;
var menu= document.form_data.menu.value;
var mail= document.form_data.mail.value;
var type= document.form_data.type.value;
Avatar billede takys Nybegynder
10. oktober 2005 - 21:56 #2
Hejsa
Ved godt det med mellemrum, men det bør intet betyde. Jeg har taget koden fra en formmail på an anden af mine sider, hvor det hele svinger fint. Jeg tror fejlen ligger omkring mine indput -altså fornavn, efternavn osv.... , men kan ikke finde den.
Avatar billede trekkies Juniormester
10. oktober 2005 - 23:01 #3
Jeg har kigget på din kode og jeg har fundet ud af at der er galt med javascript, præcis ved sætningen "Tak for din henvendelse" o.s.v.

Du skriver at det er et kopi fra en anden siden, hvor at koden virker, er det muligt om jeg gerne må se den anden kode?
Avatar billede roenving Novice
11. oktober 2005 - 00:12 #4
Javascript accepterer ikke mellemrummene !-)
Avatar billede takys Nybegynder
11. oktober 2005 - 00:45 #5
hej Trekkies
Her er den anden side, som virker


----

<HTML>
<HEAD>
<TITLE>tilmelde</TITLE>

</HEAD>
<BODY BACKGROUND="bag.JPG" TEXT="#000080" LINK="#00007F" VLINK="#9FBFEF" ALINK="#FF0000">

<B><I>Her kan du sætte dine søkort til salg.<BR>REGLER:<BR> Er kortene alt for gamle, kommer de ikke med på listen af sikkerhedsmæssige årsager. Vær desuden opmærksom på, at kortene fjernes efter ca. en måneds forløb. Har du ikke solgt dem inden for dette tidsrum, kan du gå ind på siden igen, og sende en mail om, at kortene ikke er solgt endnu.<BR>Udfyld felterne herunder, og tryk så på sendknappen, som du finder nederst på siden. Brug bjælken i højre side, for at komme nedad på siden.<BR>Udfyld med dit navn og der efter med kortets nationalitet, område osv.. Send gerne en mail når kortet er solgt. Tak.</I></B>


<!-- Her her kommer det table som brugeren skal indtaste sine oplysninger i -->
<form name="form_data">
<center>
<table border="0" width="38%">
  <tr>
    <td width="1%" align="left">Fornavn:</td>
    <td width="54%" align="left" colspan="2"><input name="fornavn" type="text">
    </td>
  </tr>
  <tr>
    <td width="1%" align="left">Efternavn: </td>
    <td width="54%" align="left" colspan="2"> <input name="efternavn"  type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">Land: </td>
    <td width="54%" align="left" colspan="2"> <input name="land"  type="text">
    </td>
  </tr> 
<tr>
    <td width="1%" align="left">Område: </td>
    <td width="54%" align="left" colspan="2"> <input name="omraade"  type="text">
    </td>
  </tr> 
<tr>
    <td width="1%" align="left">Nr.: </td>
    <td width="54%" align="left" colspan="2"> <input name="nr"  type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">År: </td>
    <td width="54%" align="left" colspan="2"> <input name="aargang"  type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">Pris: </td>
    <td width="54%" align="left" colspan="2"> <input name="pris"  type="text">
    </td>
  </tr>
<tr>
    <td width="1%" align="left">Tlf.: </td>
    <td width="54%" align="left" colspan="2"> <input name="tlf"  type="text">
    </td>
  </tr>
<tr>
      <td width="1%" align="left">Type: </td>
      <td width="54%" align="left" colspan="2">
      <select name="type" size="1" tabindex="1">
      <option value="Alm. kort">Alm. kort</option>
      <option value="Søsportsserie">Søsportsserie</option>
      </select>
    </td>
  </tr>
</table>
</form>


<!-- Her er det script, som er skjult for brugeren. Denne form henter oplysningerne fra vores table,
og organisere dem i en besked. Efter dette kommer der så en alert, som konfirmere at du har indsendt.
Den bruger navnet, og har man glemt at skrive dette, beder alerten om den. Ellers for man sin konfirmation,
og derefter sendes man tilbage til den side man kom fra. -->


<script>
function opdater_lav_brev_form ()
{
var nu =new Date 
var ugedag=nu.getDate()
var moned=nu.getMonth()+1
var aar=nu.getYear()   

var fornavn= document . form_data . fornavn . value;
var efternavn= document . form_data . efternavn . value;
var land= document . form_data . land . value;
var nr= document . form_data . nr . value;
var aargang= document . form_data . aargang . value;
var tlf= document . form_data . tlf . value;
var omraade= document . form_data . omraade . value;
var type= document . form_data . type . value;
var pris= document . form_data . pris . value;

  document . lav_brev_form . message_body . value =
   
    "Fornavn"
    +","
    +"Efternavn"
    +","
    +"Land"
    +","
    + "Område"
    +","
    + "Nr"
    +","
    + "År"
    +","
    + "Type"
    +","
    + "Pris"
    +","
    + "Tlf."
    +","
    +"Dato"
    + "\n"
   
    +fornavn
    +","
    +efternavn
    +","
    +land
    +","
    +omraade
    +","
    +nr
    +","
    +aargang
    +","
    +type
    +","
    +pris
    +","
    +tlf
    +","
    +moned
    +"."
    +aar
if(fornavn=="")

{alert("Husk at skrive hele dit navn");return false;}

if(efternavn=="")
{alert("Husk at skrive hele dit navn");return false;}


else
    {alert("Tak for din henvendelse "+fornavn+" "+efternavn+"."+"\n"+" Du har sat "+type+" for "+land+" "+"\n"+" over "+omraade+", nr. "+nr+","+"\n"+"  årgang "+aargang+" til salg for "+pris+"kr.."+"\n"+" Dine oplysninger bliver nu sendt")
    return true
    history.back()}

}



</script>

<table border="0" width="68%">
  <tr>
    <td width="64%"></td>
    <td width="36%"><form name    ="lav_brev_form"
      method  ="post"
      enctype ="multipart/form-data"
      action  ="mailto:takys@adslhome.dk?subject=Dataindsendelse fra form"
      onSubmit="return opdater_lav_brev_form ();"><p align="left">
          <input type=hidden name="message_body"><input type=submit value="Send" >
</form></td>
  </tr>
</table>
<!-- Her over er så det script, som opsamler den besked, som blev sammensat af den skjulte form.
Dette script sender det også som mail. -->



&nbsp;
<p>&nbsp;</p>


</BODY>
</HTML>
Avatar billede trekkies Juniormester
11. oktober 2005 - 08:49 #6
Nu har jeg fundet fejlen, her er løsningen:

Find denne linie:
var Billednavn= document . form_data . billednavn . value;

Den skal ændres til dette:
var Billednavn= document . form_data . Billednavn . value;

Jeg har sat Billednavn med stort.

Den næste fejl er ved denne linie:
{alert("Tak for din henvendelse "+fornavn+" "+efternavn+"."+"\n"+" Du har valgt "+Billednavn+" fra "+menu+" "i "+aar+", sendt til "+mail+"."+"\n"+" Dine oplysninger bliver nu sendt, og vil blive behandlet hutigst muligt.")

Fjern " før i, så kommer linien til at se sådan ud:
{alert("Tak for din henvendelse "+fornavn+" "+efternavn+"."+"\n"+" Du har valgt "+Billednavn+" fra "+menu+" i "+aar+", sendt til "+mail+"."+"\n"+" Dine oplysninger bliver nu sendt, og vil blive behandlet hutigst muligt.")

Håber at du kan se hvad jeg mener.
Avatar billede takys Nybegynder
11. oktober 2005 - 16:27 #7
Fantastisk. Stor hjælp, havde simpelthen stirret mig blind, og vidste det ikke havde noget med mellemrumene at gøre. 1000 tak. Laæg et svar så jeg kan give dig point.
Hejsa
Avatar billede trekkies Juniormester
11. oktober 2005 - 18:30 #8
Glad for at kunne hjælpe dig :)

Ja, nogle gange kan man stirre sig blind.
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