Avatar billede flemminggregersen Nybegynder
13. oktober 2004 - 09:43 Der er 28 kommentarer og
1 løsning

formresultat vises/kontroleres i popupvindue

Jeg har et bestillingsskema, hvor man kan bestille turistbrochurer. Når brugeren er færdig med bestillingen vil jeg gerne, hvis man så kan få den færdige bestilling vist i et popupvindue, før der submittes. Så man evt. kan nå at rette evt. fejl i bestillingen.
Jeg har prøvet flere forskellige ting, men det vil ikke lykkes. Jeg er ny ud i javascript.
Avatar billede roenving Novice
13. oktober 2004 - 14:48 #1
loudrup har en megating her, men du kan jo skære det meste fra (spørgsmålet er noget helt andet, men det kan du jo overse, og i stedet kigge på hans popup-script !-)

http://eksperten.dk/spm/494726
Avatar billede flemminggregersen Nybegynder
14. oktober 2004 - 09:02 #2
Jeg har set på loudrups script, men så vidt jeg kan vurdere skal jeg have alle mine formfelter listet op i scriptet.
Det vil jeg gerne undgå, da der er ca. 200 felter og der sker jævnligt ændringer.
Er der evt. en lettere måde :)
Avatar billede roenving Novice
14. oktober 2004 - 13:23 #3
Du kan med udgangspunkt i loudrups lave en generisk løsning, eller måske kopiere alt indhold fra et element, som indeholder hele formen og bagefter kopiere feltværdier ...
Avatar billede flemminggregersen Nybegynder
14. oktober 2004 - 13:44 #4
Det forstår jeg ikke meget af, kan du uddybe det lidt.
En anden mulighed var måske, hvis man kunne sende formmailen til brugeren samtidig med at jeg får den, men det ved jeg ikke om kan laves?
Avatar billede roenving Novice
14. oktober 2004 - 13:55 #5
Hvis du har hele din form placeret inde i et element, kan vi hente al html-koden i det element ved hjælp af .innerHTML, og derefter kopiere det over til et andet sted, f.eks. et popup-vindue ...

Derefter skal man så lige tage de aktuelle værdier i alle formfelter og så kopiere dem bagefter, men det kan også gøres ved 'bare' at tage fat i alle elementer ...

-- og hvis din formmail-ting understøtter det, vil det jo klart være nemmere, f.eks.

<form ... onsubmit="if(this.email.value!='')this.receiver.value+=','+this.email.value">

-- eller hvad formmailens modtager-felt og dit bruger email-felt nu hedder ...
Avatar billede flemminggregersen Nybegynder
14. oktober 2004 - 14:52 #6
Jeg har forsøgt med din "onsubmit" men kan ikke få den til at virke. Ved ikke om det er mig der laver fejl, men det er kun mig som får mailen.

Starten på min form ser således ud:

<form onsubmit="return formvalid(this)" METHOD="POST" ACTION="/cgi-bin/formmail.pl" name="bestilling">
        <input TYPE=HIDDEN NAME=subject VALUE="Turistbureau bestilling zone 99">
        <input TYPE=HIDDEN NAME=recipient VALUE="fg@dk-distribution.dk">
        <input TYPE=HIDDEN NAME=redirect VALUE="http://www.dk-distribution.dk/takforbestilling.html"><br>

Feltet med brugers E-mail hedder "email".
Kan du evt. prøve at indsætte din "onsubmit" :)
Avatar billede roenving Novice
14. oktober 2004 - 14:56 #7
Nu er det ikke alle formmail-scripts, som understøtter flere modtagere, men du kan da prøve:

<form onsubmit="if(this.email.value!='')this.recipient.value+=','+this.email.value;return formvalid(this)" METHOD="POST" ACTION="/cgi-bin/formmail.pl" name="bestilling">
Avatar billede flemminggregersen Nybegynder
14. oktober 2004 - 15:12 #8
Det virker tilsyneladende ikke. Jeg får denne fejl.

Error: Recipient Not Found in Referer - Relay Denied
We were unable to locate the recipient(s) in the refering document:
http://www.dk-distribution.dk/zz99/bestilling.html
This error is caused by incorrect useage of the formmail.pl script. Please refer to our web site under Support, CGI Scripts, Formmail for correct usage.
If you are a customer at Netcentralen abd have further questions, feel free to contact support@netcentralen.dk or call our technical hotline at +45 33 32 24 01.

Hvis det ikke kan fungere, vil jeg gerne høre lidt mere om .innerHTML og hvordan jeg mere nøjagtigt gør.
Avatar billede roenving Novice
14. oktober 2004 - 15:24 #9
Jeg ville ringe til dem, og spørge, om ikke formmail-scriptet supporterer andre adresser end foruddefinerede, samt om formatet, hvis de tillader det !-)
Avatar billede flemminggregersen Nybegynder
15. oktober 2004 - 11:04 #10
Så har jeg fået svar fra Webpartner:

Det er med denne formmail muligt at sende til flere modtagere, ved at komma-separere disse.

Eksempel;
<input type=hidden name="recipient"
value=" email1@address1.com ,email2@address2.net ">

Det er dog ikke umiddelbart muligt at få den til at sende til en modtager der først indtastes i formen fra hjemmesiden.

For at få en sådan løsning, vil du nok være nødt til selv at skrive din egen. evt. i PHP som understøttes af webserveren hvorpå dit webhotel ligger.

-Så det ser ikke ud til at onsubmit-tingen kan fungere, og php ved jeg endnu mindre om end javascript.
Så måske er det du foreslog med .innerHTML en mulighed?
Avatar billede roenving Novice
15. oktober 2004 - 15:28 #11
Det var sørens, for det var præcis det jeg forsøgte ...

Prøv at undersøge værdien i recipient-feltet:

<form onsubmit="if(this.email.value!='')this.recipient.value+=','+this.email.value;return confirm(this.recipient.value)&&formvalid(this)" METHOD="POST" ACTION="/cgi-bin/formmail.pl" name="bestilling">
Avatar billede flemminggregersen Nybegynder
18. oktober 2004 - 08:32 #12
Indholdet af confirmboxen er:

recipient-mail,bruger-mail
Avatar billede roenving Novice
18. oktober 2004 - 14:27 #13
-- og den melder stadig fejl ?-)

Prøv lige at teste, hvordan formmail-scriptet reagerer med hardcodede mail-adresser:

<input TYPE=HIDDEN NAME=recipient VALUE="fg@dk-distribution.dk,mail@mail.dk">

-- den anden adresse skal selvfølgelig eksistere, så du kan finde ud af, om det virker !-)
Avatar billede flemminggregersen Nybegynder
18. oktober 2004 - 15:13 #14
Det virker når begge mail-adr. er skrevet i recipient, men den forrige gav fejl.
Avatar billede roenving Novice
18. oktober 2004 - 15:15 #15
-- og hvis du confirmer, ser begge udgaver ens ud ?-)
Avatar billede flemminggregersen Nybegynder
18. oktober 2004 - 15:35 #16
Ja det gør de!
Avatar billede roenving Novice
18. oktober 2004 - 15:48 #17
Mystiskere og mystiskere ...

Hvad med:

confirm('#'+this.recipient.value+'#')

-- er de så stadig ens ?-)
Avatar billede flemminggregersen Nybegynder
19. oktober 2004 - 08:20 #18
Der er 3 mail-adr i confirmboxen og 3 på retur-mailen.
De 2 fra recipient og den fra indtastet bruger-email, men ellers er de ens.
Avatar billede roenving Novice
19. oktober 2004 - 16:50 #19
Det lyder som om der er en sikkerhedsforanstaltning i perl-scriptet, som formmailen er lavet i, så den kun kan sende, hvis den kan finde adressen hardcoded ind i formen ...

Du må spørge, om det er muligt at sætte f.eks. en cc-adresse eller lignende, som ikke behøver at være i formen !-)
Avatar billede flemminggregersen Nybegynder
20. oktober 2004 - 11:08 #20
Jeg har fået tilsendt en flere sider lang sag. Nedenstående er det, jeg vurderer der kan bruges.


MAILTO CGI Program

MAILTO.EXE will allow you to create your own form and have the results formatted and sent to one (or more) mail addresses. You can specify the name of the mail server, subject of the mail and (if you use the right fields), the mail will appear at your chosen account with the correct user name and email address (so that you can reply to it).

The only required hidden fields are sendto and server. The sendto field is the e-mail address that the form results will be mailed to.

To call the mailto.exe program, your FORM ACTION line should be:

<FORM ACTION="http://utils.webpartner.dk/cgi-bin/mailto.exe" METHOD="post">

The /scripts directory is an alias to the actual directory where mailto.exe program is stored. It is available from any directory you have created. Because /scripts is a common, aliased directory, be sure you don't create a directory by the same name within your web site area!

Fields & checking

There are two different types of fields for the MAILTO program. The first set specify what to do with the email message and the second specify what information to put into the message. All these details are written into "hidden" fields in the HTML Form - this allows the configuration to be in one place and means that the form user presented with a simple interface. Unless otherwise stated, all fields are optional.

Email Fields

The following fields specify what is done with the email message.

sendto

The address of the recipient of the email message. If this field is not present, no email message will be sent. This field is the one that is checked by the security checking discussed elsewhere. For example:

<INPUT TYPE="hidden" NAME="sendto"

VALUE="DanceMaster@net-shopper.co.uk">

cc

A comma separated list of other recipients of the form contents. For example:

<INPUT TYPE="hidden" NAME="cc"

VALUE="abc@company.com,efg@company.com">

server

Name of one or more mail servers to send the mail to. If more than one mail server is specified (as a comma separated list) then MAILTO will work though the list giving each mail server five seconds before moving on to the next. This must be a ANAME or CNAME of the server (that is, one you can ping) and if omitted the localhost will be used. For example the following definition will cause MAILTO to send all mail to the mail server called mail.company.com and then mail.another.com if the first is not available:

<INPUT TYPE="hidden" NAME="server"

VALUE="mail.company.com,mail.another.com">

subject

The subject of the mail message. If not specified, the value variable "HTTP_REFERER" will be used and if that is not provided by the WWW server, the default string "Completed WWW Form" will be used.
Avatar billede roenving Novice
20. oktober 2004 - 11:54 #21
Ser ud til at være et andet script, da det jo bruger sendto og ikke recipient ...

-- der er en interessant passus i definitionen på netop det felt:

'This field is the one that is checked by the security checking discussed elsewhere.'

-- der må være nogle relevante oplysninger i den diskussion, sikkert bl.a. det, som har givet problemer med recipient !-)

-- men hvis du skal flytte over til det script, har det jo så et cc-felt, som helt åbenlyst ikke er med i sikkerhedstingen, så det ser da interessant ud !o]
Avatar billede flemminggregersen Nybegynder
20. oktober 2004 - 12:58 #22
Okay, men hvad gør jeg så nu.
Skal jeg have fat i nogle yderligere opl. fra Webpartner eller?
Avatar billede roenving Novice
20. oktober 2004 - 13:15 #23
Er det muligt at linke til den dokumentation, du har fået ?-)
Avatar billede flemminggregersen Nybegynder
20. oktober 2004 - 13:32 #24
Nej, det er en mail jeg har fået med en vedhæftet wordfil.
Avatar billede flemminggregersen Nybegynder
21. oktober 2004 - 08:13 #25
Det var ikke det rigtige script jeg fik fra Webpartner, og det script jeg bruger har ikke den funktion med et cc felt.
De har istedet foreslået at finde et PHP script til at løse opgaven. De har givet mig følgende link.

http://regretless.com/scripts/scripts.php#dodosmail
Avatar billede roenving Novice
21. oktober 2004 - 16:11 #26
Det ser ud til, at det er lige ud af landevejen at bruge det, men der er mylliarder af den slags scripts, så hvis du ønsker andre måder at gøre det ene eller det andet, kan du sagtens finde noget via php.dk, php.net eller google !-)
Avatar billede flemminggregersen Nybegynder
26. oktober 2004 - 08:24 #27
Det er fint, tak for hjælpen :)
Kommer du med et svar, så du kan få dine point.
Avatar billede roenving Novice
26. oktober 2004 - 17:26 #28
Velbekomme '-)
Avatar billede roenving Novice
27. oktober 2004 - 18:32 #29
-- og tak for point ;~}
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