Avatar billede mjl Nybegynder
25. marts 2000 - 11:40 Der er 10 kommentarer og
1 løsning

Feedback form...

Er det muligt, at forbedre udseendet af det resultat, man modtager, når nogen har udfyldt en formular, og sendt den.

stk_1:2
stk_2:2

pris_1:125
pris_2:150

o.s.v. er jo ikke ligefrem særligt pænt og overskueligt!
Avatar billede Slettet bruger
25. marts 2000 - 12:23 #1
Jeg har tænkt lidt over det samme og fik at vide at det kunne lade sig gøre med Javascript, men jeg har aldrig fundet noget der kunne hjælpe mig.
Avatar billede dkkarpen Nybegynder
25. marts 2000 - 12:29 #2
Hvad for et script bruges til proces af formen??
Avatar billede mjl Nybegynder
25. marts 2000 - 12:50 #3
Matt's Script...
Avatar billede olebole Juniormester
26. marts 2000 - 05:39 #4
<ole>
Jeg går ud fra, du mener, at du gerne vil gøre mailen mere overskuelig, når du sender via 'mailto'.
Det kan ikke uden videre lade sig gøre - men man kan dog lave visse work-arounds.
Smid en kopi af din form op, så skal jeg vise dig, hvordan ;-)
/VH
</bole>
Avatar billede olebole Juniormester
26. marts 2000 - 05:50 #5
Hvis du kan noget JavaScript, kan jeg fortælle dig, at det går ud på at lave TO formularer. Den ene er den du HAR. Den anden består kun af et 'type=hidden' felt, og så har den 'method' og 'action' som den form, du har nu.
Altså: Ingen 'method' og 'action' i den første form - men i den anden!
I den første form laver du ingen 'type=submit', men en 'type=button'. På den laver du en 'oncklick', som kalder en funktion, der sætter en variabel lig med en tekststreng. Denne streng er den formatterede tekst til mailen. Den laves dels af 'statisk' tekst - og dels af værdier, du trækker ud af din første form.
Funktionen slutter af med at sætte dit 'type=hidden' felt i den anden form, samt submitte denne.
VOILA...!!!
Men som sagt: Jeg vil gerne lave et eksempel, hvis du ikke selv kan overskue det.
Avatar billede mjl Nybegynder
26. marts 2000 - 10:38 #6
ok....tak. Den kommer her!!

<html>

<Head>
<Title> </Title>
<Script Type="text/javascript">
//************* Antal Rækker *************
rke=10
//****************************************
function docmake(){
    for (g=1; g<=rke; g++){
        document.write("<Tr><Td Align=Center><Input Type='text' Name='Varenr_"+ g + "' Size=5></Td><Td Align=Center><Input Type='text' Name='Varebeskrivelse_"+ g +"'></Td><Td Align=Center><Input Type='text' Name='stk_"+ g +"' Size=2 onchange='document.bestil.ialt_"+ g +".value=document.bestil.stk_"+ g +".value*document.bestil.Pris_"+ g +".value; prisialt()' ></Td><Td Align=Center><Input Type='text' Name='Pris_"+ g +"' Size=5 onchange='document.bestil.ialt_"+ g +".value=document.bestil.stk_"+ g +".value*document.bestil.Pris_"+ g +".value; prisialt()'></Td><Td Align=Center><Input Type='text' Name='ialt_"+ g +"' Size=6></Td></Tr>")
    }
}

function prisialt(){
    b=0
   
    for (g=1; g<=rke; g++){
        st="ialt_"+g
        b+=eval("document.bestil.stk_"+ g +".value*document.bestil.Pris_"+ g +".value")
    }
document.bestil.altialt.value=b   
   
   

}
</Script>
</Head>

<body bgcolor=#008C5A>
<center>

<table width=600 border=0>
<tr>
<td width=50% align=left><img src=logom22.gif>
<td width=50%>
<font face=verdana color=#ffffff size=4>
Bestillings formular
</font>
</table>

<hr width=600>
<table width=600>
<tr>
<td width=100% align=center>
<font face=verdana color=#cdcdcd size=-2>
<Script Language="JavaScript">
document.bgColor = "#008C5A"
dato = new Date()
dag0 = "Søndag    "
dag1 = "Mandag    "
dag2 = "Tirsdag  "
dag3 = "Onsdag    "
dag4 = "Torsdag  "
dag5 = "Fredag    "
dag6 = "Lørdag    "
dagstreng = dag0 + dag1 + dag2 + dag3 + dag4 + dag5 + dag6

maan00 = "januar    "
maan01 = "februar  "
maan02 = "marts    "
maan03 = "april    "
maan04 = "maj      "
maan05 = "juni      "
maan06 = "juli      "
maan07 = "august    "
maan08 = "september "
maan09 = "oktober  "
maan10 = "november  "
maan11 = "december  "
maanstreng = maan00 + maan01 + maan02 + maan03 + maan04 + maan05 + maan06 + maan07 + maan08 + maan09 + maan10 + maan11

datostreng = dagstreng.substring(dato.getDay() * 10,dato.getDay() * 10 + 10) + " den "

datostreng += dato.getDate() + ". "
datostreng += maanstreng.substring(dato.getMonth() * 10, dato.getMonth() * 10 + 10)
datostreng += dato.getYear() + " kl. "
datostreng += dato.getHours() + "."
if (dato.getMinutes() <= 9)
  datostreng += "0" + dato.getMinutes()
else
  datostreng += dato.getMinutes()
document.write("<P> " + datostreng)
</Script>
</font>
</table>
<hr width=600>

<table width=600>

<FORM name="bestil" ACTION="http://www.datashopper.dk/cgi-bin/mailer.pl" METHOD=POST>

<INPUT type=hidden name="Til" value="Poda Hegn">

<input type="hidden" name="redirect" value="http://www.poda.dk/tak_for_bestilling.htm">
<input type="hidden" name="subject" value="Ordre fra Internettet">
<input type="hidden" name="recipient" value="lauesen@post5.tele.dk">
<input type=hidden name="required" value="Navn,Telefon,Adresse 1,Post nr.,By">

<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR">

<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Navn:</b></font>
<td width=75%><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=50 name="Navn"><br>
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Adresse 1:</b></font>
<td width=75% colspan=3><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=50 name="Adresse 1">
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Adresse 2:</b></font>
<td width=75% colspan=3><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=50 name="Adresse 2">
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Post nr.:</b></font>
<td width=75%><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=4 name="Post nr.">
<font face=verdana size=-1 color=#ffffff> <b>By:&nbsp;</b></font>
<input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=38 name="By">
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Telefon nr.:</b></font>
<td width=75%><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=8 name="Telefon">
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Email:</b></font>
<td width=75%><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=35 name="Mail">
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Hjemmeside:</b></font>
<td width=75%><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=35 name="Hjemmeside" value="http://">
</table>
<hr width=600>
<table width=600>
<tr>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Varene ønskes leveret:</b></font>
<td width=25%>
<select name=leveringsdag>
<option value="mandag" style="font-family:verdana; color:#000000; background-color=#C0FFC0; font-weight:bold">mandag
<option value="tirsdag" style="font-family:verdana; color:#000000; background-color=#C0FFC0; font-weight:bold">tirsdag
<option value="onsdag" style="font-family:verdana; color:#000000; background-color=#C0FFC0; font-weight:bold">onsdag
<option value="torsdag" style="font-family:verdana; color:#000000; background-color=#C0FFC0; font-weight:bold">torsdag
<option value="fredag" style="font-family:verdana; color:#000000; background-color=#C0FFC0; font-weight:bold">fredag
</select>
<td width=25%><font face=verdana size=-1 color=#ffffff><b>Dato:</b>
<td width=25% align=left><input type=text style="font-family:verdana; color:#808080; background-color=#C0FFC0; font-weight:bold" size=15 name="Dato">

</table>
<hr width=600>
<font face=verdana color=#ffff00 size=-1>
Obs! Ved indtastning af "pris pr. stk.", bruges punktum (.) i stedet for komma (,)
</font>
<hr width=600>
<Table width=600>
<Th><font face=verdana size=-1 color=#ffffff>Vare Nr.</font></Th><Th><font face=verdana size=-1 color=#ffffff>Vare beskrivelse</font></Th><Th><font face=verdana size=-1 color=#ffffff>Stk./antal</font></Th><Th><font face=verdana size=-1 color=#ffffff>Pris pr. stk.</font></Th><Th><font face=verdana size=-1 color=#ffffff>Pris ialt</font></Th>
<Script>
docmake()
</Script>
<Tr>
<Td></Td><Td></Td><Td></Td><Td></Td><Td><Hr></Td>
</Tr>
<Tr>
<Td Colspan=5 Align=Right>
    <font face=verdana size=-1 color=#ffffff>Kr. ialt, ex. moms:</font> <Input Type="text" Size=7 Name="altialt">
</Td>
</Tr>
</Table>

<hr width=600>
<table width=100%>
<tr><td colspan=2><center><INPUT type="submit" value=" Send "></center></td></tr>
</table>

</form>
</center>
</body>
</html>
Avatar billede Keld Nielsen Professor
26. marts 2000 - 14:48 #7
Der findes faktisk en funktion i Matts-cgi-mail som ikke er beskrevet som standard. Jeg ved ikke om den fungerer på alle servere, men der hvor jeg har de fleste, fungerer det perfekt.
Det er en to-trins løsning:
Først skal du lave en ASCII fil, hvor du definerer hvorledes udskriften skal se ud (det er det jeg forstår der er dit problem), eks.:

Til: testmand@testserver.dk
Emne: Forespørgsel

Navn:    [navn]
Adressee:    [adresse]
Postnr/by    [pnr]  [by]

-denne fil gemmes på serveren, gerne I roden.

I din form action kald henviser du til ”…/cgimail/svar.txt”, og så virker det, det lyder enkelt, og det er det.

Hvis du vil have hele dokomentationen, så prøv her:
http://web.mit.edu/wwwdev/cgiemail/user.html
Avatar billede olebole Juniormester
27. marts 2000 - 02:29 #8
UPS...jeg så ikke du brugte serverside mail-script. Check lige, om du kan lave noget smart der - ellers skal jeg nok se på det. Men som sagt: Check lige det andet først, så jeg ikke vælter mig igennem hele den mother-fucker forgæves ;-)
Avatar billede olebole Juniormester
27. marts 2000 - 03:50 #9
Dette skulle give en idé om, hvad jeg mener:

<html>
<head>
<script language="JavaScript"><!--

function sendMail() {
    mailstr = "<tt><br>";
    with (document.minform1) {
        for (i=0; i<length-2; i+=3) {
            mailstr += elements[i+1].value+" stk. "+elements[i].value+" \340 "+elements[i+2].value+"kr.<br>";
        }
        mailstr += "<br>Total: "+total.value+"kr.";
    }
    mailstr += "</tt>";
    document.minform2.web_bestilling = mailstr;
// Den næste linie er kun for demo...!!!
    openMyText();
// Demo slut...!!!
    document.minform2.submit();
}

// Denne funktion er kun til demo...!!!
function openMyText() {
    myWin = window.open("", "mitVindue", "width=400,height=200");
    ndoc = myWin.document;
    astr = "<html>\n<body>\n";
    astr += "Dette er, hvad dit mail program skriver:<br>"+mailstr+"\n";
    astr += "</body>\n</html>";
    ndoc.write(astr);
    ndoc.close();
}
// -->
</script>
</head>
<body>
Flg. inputs er: 'varebeskrivelse' - 'antal' - 'pris'
<form name=minform1>
<input type=text name=vare1>&nbsp;<input type=text name=antal1>&nbsp;<input type=text name=pris1><br>
<input type=text name=vare2>&nbsp;<input type=text name=antal2>&nbsp;<input type=text name=pris2><br>
<input type=text name=vare3>&nbsp;<input type=text name=antal3>&nbsp;<input type=text name=pris3><br>
<input type=text name=vare4>&nbsp;<input type=text name=antal4>&nbsp;<input type=text name=pris4><br><br>
Total:<br>
<input type=text name=total value=538.00><br><br>
Fyld formen ud og tryk bestilling for at se, hvordan dit mail program vil formattere teksten.<br>
<input type=button value=" Send bestilling " onclick=sendMail();>
</form>
<form name=minform2 action=Et_Eller_Andet method=post_Eller_get>
<input type=hidden name=web_bestilling>
</form>

</body>
</html>

Læg mærke til linien:
        for (i=0; i<length-2; i+=3) {
'length-2' fordi, der er TO form-elementer EFTER vare felterne ('total' og knappen).
'i+=3' fordi, der er tre felter i hver linie ('vare', 'antal' og 'pris').
Du skal selvfølgelig også lægge alle de 'hidden' felter ind i form2, som dit mail-script skal bruge.

Du kan lave en masse andet fint med formattereingen - f.eks. lave streger med ---------- osv. Faktisk kan du lave en funktion som denne:

function myLine(number,spChar) {
line = "";
    for (k=0; k<$number; k++) {
        line += spChar;
    }
    return line;
}

...så kan du kalde den sådan:

mailstr += myline('15','-');

hvilket vil give en tilføjelse på 'mailstr' med 15 bindestreger.

Du kunne også i mit eksempel ovenfor skrive:

for (i=0; i<length-2; i+=3) {
  if (elements[i].value.length<20) {
    num = 20 - elements[i].value.length;
    elements[i].value = elements[i].value + myline(num,'&nbsp;')
  }
  mailstr += elements[i+1].value+" stk. "+elements[i].value+" \340 "+elements[i+2].value+"kr.<br>";
}

så vil varebeskrivelsen altid blive fyldt ud med mellemrum, til længden er 20 tegn. Så kan du holde pæne lige kolonner.

Håber det hjalp lidt,
/VH
Avatar billede olebole Juniormester
27. marts 2000 - 03:54 #10
Linie-scriptet er et, jeg har lavet til at skrive noget i php. Derfor sneg der sig en fejl ind:
    for (k=0; k<$number; k++) {
        line += spChar;
    }
skal rettes til:
    for (k=0; k<number; k++) {
        line += spChar;
    }
Sorry ;-)
Avatar billede mjl Nybegynder
27. marts 2000 - 16:49 #11
Tak for hjælpen...!!!!!!
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