Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 16:20 Der er 19 kommentarer og
1 løsning

Java + FormMail

Hmm.. jo, altså.. Jeg er ved at lave en side, hvorpå der er en bestillingsformular, den er lavet til at skulle sende fra Outlook (det er ikke mig der har skrevet Java'en), men det gik jo ikke hvis der nu skulle være nogle brugere der ikke havde Outlook.. Hvilket der er.. Så jeg har nu fået fat i mit webhotels PHP-FormMail..
Problemet er så at jeg ikke kan få Java'en til at virke når der er FormMail-halløjet... Java'en gør det at den tjecker om man har udfyldt alle felter og sådan noget.. Men altså, det jeg gerne skulle have det til, er at java-koden dur sammen med FormMailen, eller at der kan komme noget andet på som virker på samme måde som Java'en...

Her er den første kode (altså den der fungerer med Outlook):

------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Booking</title>
</head>

 
<body background="back.jpg" bgproperties="fixed">

<script type="text/javascript">
function valider(f){
  var url = "?subject="+escape('Booking pr. mail')+"&body=BOOKING%0A%0D%0A%0D";
 
  if(6>f.afsender.value.length){
    alert('Du skal angive navn på afsender');
    f.afsender.select();
    f.afsender.focus();
    return false;
  }
 
  url += "Afsender:"+escape(" "+f.afsender.value)+"%0A%0D";
 
  if(6>f.adresse.value.length){
    alert('Du skal angive adresse på afsender');
    f.adresse.select();
    f.adresse.focus();
    return false;
  }
 
  url += "Adresse:"+escape(" "+f.adresse.value)+"%0A%0D";
 
  if(!f.foedt.value.match(/^\d{2}\/\d{2}\-\d{2}$/)){
    alert('Du skal angive fødselsdato på afsender');
    f.foedt.select();
    f.foedt.focus();
    return false;
  }
 
  url += "Fødselsdato:"+escape(" "+f.foedt.value)+"%0A%0D";
 
  if(2>f.by.value.length){
    alert('Du skal angive by');
    f.by.select();
    f.by.focus();
    return false;
  }
 
  url += "By:"+escape(" "+f.by.value)+"%0A%0D";
 
  if(!f.postnummer.value.match(/^\d{4}$/)){
    alert('Du skal angive postnummer');
    f.postnummer.select();
    f.postnummer.focus();
    return false;
  }
 
  url += "Postnummer:"+escape(" "+f.postnummer.value)+"%0A%0D";
 
  if(8>f.telefon.value.length){
    alert('Du skal angive et telefonnummer');
    f.telefon.select();
    f.telefon.focus();
    return false;
  }
 
  url += "Telefon:"+escape(" "+f.telefon.value)+"%0A%0D";
 
  if(f.mobil.value.length>7){
    url += "Mobil:"+escape(" "+f.mobil.value)+"%0A%0D";
  }
 
  if(f.eMail.value.length>5){
    url += "E-mail:"+escape(" "+f.eMail.value)+"%0A%0D";
  }
 
  if(4>f.arrangement.value.length){
    alert('Du skal angive et arrangement');
    f.arrangement.select();
    f.arrangement.focus();
    return false;
  }
 
  url += "Arrangement:"+escape(" "+f.arrangement.value)+"%0A%0D";
 
  if(!f.dato.value.match(/^\d{2}\/\d{2}\-\d{2}$/)){
    alert('Du skal angive arrangementsdato');
    f.dato.select();
    f.dato.focus();
    return false;
  }
 
  url += "Arrangementsdato:"+escape(" "+f.dato.value)+"%0A%0D";
 
  if(!f.tidspunkt.value.match(/^\d{2}:\d{2}$/)){
    alert('Du skal angive arrangementstidspunkt');
    f.tidspunkt.select();
    f.tidspunkt.focus();
    return false;
  }
 
  url += "Arrangementstidspunkt:"+escape(" "+f.tidspunkt.value)+"%0A%0D";
 
  if(f.varighed.selectedIndex==6&&!f.varighed2.value.match(/\d+/)){
    alert('Du skal angive varighed');
    f.varighed2.select();
    f.varighed2.focus();
    return false;
  }else f.varighed2.value=(f.varighed.selectedIndex==6)?f.varighed2.value:f.varighed.value;
 
  url += "Varighed:"+escape(" "+f.varighed2.value)+"%0A%0D";
  url += "Antal gæster:"+escape(" "+f.antal.value)+"%0A%0D";
  url += "Surprise:"+escape(" "+((f.surprise[0].checked)?"Ja":"Nej"))+"%0A%0D";
 
  maal = f.maalgruppe,maalgr="";
  for(i=0;maal.length>i;i++)if(maal[i].checked)maalgr += ((maalgr.length>1)?", ":"")+maal[i].value;
 
  if(4>maalgr.length){
    alert('Du skal angive en eller flere målgrupper');
    f.maalgruppe[0].focus();
    return false;
  }
 
  url += "Målgruppe:"+escape(" "+maalgr)+"%0A%0D";

  if(f.specielle_oensker.value.length>0){
    url += "Specielle ønsker:"+escape(" "+f.specielle_oensker.value)+"%0A%0D";
  }
 
  if(f.kommentar.value.length>0){
    url += "Kommentar:"+escape(" "+f.kommentar.value)+"%0A%0D";
  }
 
  f.action += url;
  return true;
}
</script>
<form name="Bestilling_revolt" method="post" action="mailto:omtus@hotmail.com" onsubmit="return false;">

<table cellspacing="20" width="650">

<tr>
      <td>
      <font face="tahoma" size="1"><b>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Navn:<br> <input type=TEXT name="afsender" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Adresse:<br> <input type=TEXT name="adresse" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Fødselsdato og -år: &nbsp;</b>(dd/mm-åå)<b><br> <input type=TEXT name="foedt" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
By:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Postnr:

<br>
<input type=TEXT name="by" size="17">

<input type=TEXT name="postnummer" size="4"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Telefon:<br> <input type=TEXT name="telefon" size="25"><br>

Mobil:<br> <input type=TEXT name="mobil" size="25"><br>

E-mail:<br> <input type=TEXT name="eMail" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong> 
Arrangement: &nbsp;</b>(Fest, bryllup, etc.)<b><br> <input type=TEXT name="arrangement" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Dato:&nbsp;</b>(dd/mm-åå)<b><br> <input type=TEXT name="dato" size="25"><br>

<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong> 
Tidspunkt:&nbsp;</b>(tt:mm)<b><br> <input type=TEXT name="tidspunkt" size="25"><br>


      </td>
      <td>
      <font face="tahoma" size="1"><b>
     
     
<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
        Varighed:
           
<br>
<select name="varighed" onchange="if(this.selectedIndex==6){this.form.varighed2.style.visibility='visible'}else{this.form.varighed2.style.visibility='hidden'}">
<option value="30">30 min.</option>
<option value="45">45 min.</option>
<option value="60">60 min.</option>
<option value="2x15">2 x 15 min.</option>
<option value="2x20">2 x 20 min.</option>
<option value="2x30">2 x 30 min.</option>
<option value="anden">Anden - Angiv herunder:</option>
</select>


<br>
<input type="text" name="varighed2" style="visibility:hidden"> min.
     
<br><strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
      Antal gæster:
<br>
<select name="antal">
<option value="under100">under 100</option>
<option value="100-200">100-200</option>
<option value="200-500">200-500</option>
<option value="500-1000">500-1000</option>
<option value="1000-2000">1000-2000</option>
<option value="2000-5000">2000-5000</option>
<option value="over5000">over 5000</option>
</select>


<br>
<br>

    Surprise:
<br>
<input type="radio" name="surprise" value="Ja">Ja&nbsp;&nbsp;
      <input type="radio" name="surprise" value="Nej" checked>Nej 
   
     
<br>
<br>
<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Målgruppe:<br>
<br>
<input type="checkbox" name="maalgruppe" value="0-10 år">&nbsp;0-10 år<br>
<input type="checkbox" name="maalgruppe" value="10-20 år">&nbsp;10-20 år<br>
<input type="checkbox" name="maalgruppe" value="20-30 år">&nbsp;20-30 år<br>
<input type="checkbox" name="maalgruppe" value="30-40 år">&nbsp;30-40 år<br>
<input type="checkbox" name="maalgruppe" value="40-50 år">&nbsp;40-50 år<br>
<input type="checkbox" name="maalgruppe" value="50-60 år">&nbsp;50-60 år<br>
<input type="checkbox" name="maalgruppe" value="60-70 år">&nbsp;60-70 år<br>
<input type="checkbox" name="maalgruppe" value="70-120 år">&nbsp;70-120 år<br>

<br>
     
     
      </td>
              <td>
              <font face="tahoma" size="1"><b>
                           
Specielle ønsker:<br>
<textarea name="specielle_oensker" rows="2" cols="20">
</textarea>



<br>
Kommentar:<br>
<textarea name="kommentar" rows="2" cols="20">
</textarea>
     
     
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p align="justify">
<strong><font face="Tahoma" color="#ff0000" size="1">*</font></strong>
Bemærk! Alle punkter
mærket
<br>med en rød stjerne, skal udfyldes!
    </p> 

<input type="submit" onclick="if(valider(this.form)){this.form.submit();location.href='r_bestilling2.htm';}" value="Send">
<input type="Reset" value="Slet">
             
</td>     
</tr>
</table>

</form>

</body>
</html>

----------------------

PHP-FormMailen ligger her:

http://www.gullestrupnet.dk/cgi-bin/formmail.php

...

Her er den kode jeg så PRØVEDE at 'svejse' sammen med det andet... Men det virkede ikke:
------------------------
<form action="http://www.gullestrupnet.dk/cgi-bin/formmail.php" method="POST">
<input type="hidden" name="recipient" value="mig@mitdomæne.dk">
<input type="hidden" name="subject" value="Emne">
<textarea name="Kommentarer" rows="5" cols="42"></textarea></dd>
<input type="submit" value="Send kommentarer"> <input type="reset" value="Ryd formular">
------------------------

Er der nogen der kan hjælpe mig?
Avatar billede roenving Novice
07. juni 2004 - 16:30 #1
Prøv at indsætte diise 3 linjer i stedet for dit form-tag !-)

<form action="http://www.gullestrupnet.dk/cgi-bin/formmail.php" method="POST" onsubmit="return valider(this)">
<input type="hidden" name="recipient" value="omtus@hotmail.com">
<input type="hidden" name="subject" value='Booking pr. mail'>

-- og fjern alle linjer, som indeholder variablen url ...
Avatar billede roenving Novice
07. juni 2004 - 16:33 #2
-- og jeg kiggede forgæves efter det der java, som du omtaler 17 gange ...

Java og javascript har nogenlunde lige så meget med hinanden at gøre, som en 50 personers luksusbus og en gammel punkteret damecykel uden sadel ...
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 16:35 #3
Hmm.. Det virker ikke:

www.rvl.dk/r_bestilling44.htm
Avatar billede roenving Novice
07. juni 2004 - 16:39 #4
Du skal også ændre denne linje:

<input type="submit" onclick="if(valider(this.form)){this.form.submit();location.href='r_bestilling2.htm';}" value="Send">

til:

<input type="submit" value="Send">
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 16:41 #5
Virker stadig ikke...?
Avatar billede roenving Novice
07. juni 2004 - 16:50 #6
Det virker da fint, men enten har du ikke registreret din mail adresse hos gullestrupnet eller også har de et globalt ban på hotmail-adresser ...

The following errors were found:

You are trying to send mail to a domain that is not allowed.

Please use the back button to correct these errors.
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 16:56 #7
Arh.. Sorry sorry sorry... Det havde jeg ikke set.. Det er en anden adresse den skal sende til... Hmm.. Er det muligt at gøre sådan at den går til en anden side når man submitter formen.. Altså en side hvor der enten står tak, eller står alt den info man har tastet ind..?

For det ser jo ikke så herligt ud når den bare går videre til den der hvide side hvor der står

The following information has been submitted:

afsender: sdfsdfsdfsdf
adresse: sdfsdfsdfsdf
foedt: 19/11-89
by: heererg
postnummer: 1111
telefon: 11111111
mobil:
eMail:
arrangement: aafdsaf
dato: 19/11-04
tidspunkt: 13:10
varighed: 45
varighed2: 45
antal: 100-200
surprise: Ja
maalgruppe: 40-50 er
specielle_oensker: filip
kommentar: filip
email: webhotel@gullestrupnet.dk
realname: Webhotel

<<og så er der et billed-link her>>

?
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 16:58 #8
Du har selvfølgelig allerede fået points..
Jeg kan godt oprette det i et nyt spørgsmål hvis det sku være :)
Avatar billede roenving Novice
07. juni 2004 - 17:00 #9
-- der må være et felt, som anviser en redirect-side, prøv at kigge i dokumentationen for form-mailen !-)
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 17:18 #10
Ahha! Roenving.. Jeg takker igen igen... igen
Du Har Pointsensnense!
Bare send et svar :)
Avatar billede roenving Novice
07. juni 2004 - 17:21 #11
Velbekomme '-)
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 17:29 #12
Men, hov..
HMm.. Når man udfylder flere felter i 'Målgruppe'
Så skriver den kun den sidste af dem
altså
Hvis man fx udfylder
10-20
30-40
og 60-70

Så sender den kun 60-70

..?
Avatar billede roenving Novice
07. juni 2004 - 17:38 #13
Så må du lave et skygge-felt, som sættes:

Indsæt et felt i formen, nemmest at overskue lige efter checkboxene:

<input type="hidden" name="maalgr">

Og en linje mere i scriptet:

  maal = f.maalgruppe,maalgr="";
  for(i=0;maal.length>i;i++)if(maal[i].checked)maalgr += ((maalgr.length>1)?", ":"")+maal[i].value;
 
  if(4>maalgr.length){
    alert('Du skal angive en eller flere målgrupper');
    f.maalgruppe[0].focus();
    return false;
  }
 
  f.maalgr.value = maalgr;
Avatar billede roenving Novice
07. juni 2004 - 17:38 #14
-- og tak for point ;~}
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 17:40 #15
maal = f.maalgruppe,maalgr="";
  for(i=0;maal.length>i;i++)if(maal[i].checked)maalgr += ((maalgr.length>1)?", ":"")+maal[i].value;
 
  if(4>maalgr.length){
    alert('Du skal angive en eller flere målgrupper');
    f.maalgruppe[0].focus();
    return false;
  }
 
  f.maalgr.value = maalgr;
-----------------
Det skal være efter det andet JavaScript, ikk?
Avatar billede roenving Novice
07. juni 2004 - 17:48 #16
Du skal tilføje een linje, så find det sted i scriptet, hvor de andre linjer er !-)
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 17:52 #17
Ja ok.. Og så skal der lige en } efter den linie..
Men når du siger at der lige skal det der skyggefelt ind efter boxene, mener du så:

-------------------------
Målgruppe:<br>
<br>
<input type="checkbox" name="maalgruppe" value="0-10 år">&nbsp;0-10 år<br>
<input type="checkbox" name="maalgruppe" value="10-20 år">&nbsp;10-20 år<br>
<input type="checkbox" name="maalgruppe" value="20-30 år">&nbsp;20-30 år<br>
<input type="checkbox" name="maalgruppe" value="30-40 år">&nbsp;30-40 år<br>
<input type="checkbox" name="maalgruppe" value="40-50 år">&nbsp;40-50 år<br>
<input type="checkbox" name="maalgruppe" value="50-60 år">&nbsp;50-60 år<br>
<input type="checkbox" name="maalgruppe" value="60-70 år">&nbsp;60-70 år<br>
<input type="checkbox" name="maalgruppe" value="70-120 år">&nbsp;70-120 år<br>
Målgruppe:<br>
<br>
<input type="checkbox" name="maalgruppe" value="0-10 år">&nbsp;0-10 år<br>
<input type="checkbox" name="maalgruppe" value="10-20 år">&nbsp;10-20 år<br>
<input type="checkbox" name="maalgruppe" value="20-30 år">&nbsp;20-30 år<br>
<input type="checkbox" name="maalgruppe" value="30-40 år">&nbsp;30-40 år<br>
<input type="checkbox" name="maalgruppe" value="40-50 år">&nbsp;40-50 år<br>
<input type="checkbox" name="maalgruppe" value="50-60 år">&nbsp;50-60 år<br>
<input type="checkbox" name="maalgruppe" value="60-70 år">&nbsp;60-70 år<br>
<input type="checkbox" name="maalgruppe" value="70-120 år">&nbsp;70-120 år<br>
<input type="hidden" name="maalgr">
-----------------------------

eller:

----------------------------
Målgruppe:<br>
<br>
<input type="checkbox" name="maalgruppe" value="0-10 år">&nbsp;0-10 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="10-20 år">&nbsp;10-20 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="20-30 år">&nbsp;20-30 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="30-40 år">&nbsp;30-40 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="40-50 år">&nbsp;40-50 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="50-60 år">&nbsp;50-60 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="60-70 år">&nbsp;60-70 år<br>
<input type="hidden" name="maalgr">
<input type="checkbox" name="maalgruppe" value="70-120 år">&nbsp;70-120 år<br>
-------------------------------

eller skal de ikke alle sammen hedde 'maalgr' eller?

`???
Avatar billede roenving Novice
07. juni 2004 - 17:58 #18
Nej, der må _ikke_ være en } da du så afslutter hele valideringen for tidligt !-)

-- og heller ikke med felterne, kun som jeg skrev:

Målgruppe:<br>
<br>
<input type="checkbox" name="maalgruppe" value="0-10 år">&nbsp;0-10 år<br>
<input type="checkbox" name="maalgruppe" value="10-20 år">&nbsp;10-20 år<br>
<input type="checkbox" name="maalgruppe" value="20-30 år">&nbsp;20-30 år<br>
<input type="checkbox" name="maalgruppe" value="30-40 år">&nbsp;30-40 år<br>
<input type="checkbox" name="maalgruppe" value="40-50 år">&nbsp;40-50 år<br>
<input type="checkbox" name="maalgruppe" value="50-60 år">&nbsp;50-60 år<br>
<input type="checkbox" name="maalgruppe" value="60-70 år">&nbsp;60-70 år<br>
<input type="checkbox" name="maalgruppe" value="70-120 år">&nbsp;70-120 år<br>

<input type="hidden" name="maalgr">
Avatar billede omtus_komikatus Nybegynder
07. juni 2004 - 18:06 #19
OK.. så virker det jo.. Fantastisk.. Nu sender den godt nok¨

maalgruppe: 70-120 år
maalgr: 0-10 år, 10-20 år, 40-50 år, 60-70 år, 70-120 år

Men det er ikk så vigtigt.. Tak for hjælpen!
Avatar billede roenving Novice
07. juni 2004 - 18:21 #20
U'r welcome ,-)
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