/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Sammensætning af formulardata
Fra : Erik Ginnerskov


Dato : 09-03-08 01:23

Hej NG

Jeg sidder og fumler med at få sendt en større samling formulardata. I
originalscriptet ligger en kodelinje:

body = upload.Form("besked")

Linjen henter input fra et tekstarea og det fungerer fint med den originale
formular.

I den ændring, jeg sidder med, skal input fra en (meget) lang række
inputfelter stykkes sammen med nogle indskudte forklarende tekster. Det har
jeg forsøgt at sætte sammen sådan:

body = "Navn: " & upload.Form("navn") & vbCrLf & "Adresse: " &
upload.Form("adr") ....... osv.

Det gør så, at jeg får en fejlmeddelelse

800a0401 Expected end of statement

Men forklaringen på aspfaq.com bliver jeg ikke klogere af.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



 
 
Michael Weber (09-03-2008)
Kommentar
Fra : Michael Weber


Dato : 09-03-08 07:43

Erik Ginnerskov wrote:
> Hej NG
>
> Jeg sidder og fumler med at få sendt en større samling formulardata. I
> originalscriptet ligger en kodelinje:
>
> body = upload.Form("besked")
>
> Linjen henter input fra et tekstarea og det fungerer fint med den
> originale formular.
>
> I den ændring, jeg sidder med, skal input fra en (meget) lang række
> inputfelter stykkes sammen med nogle indskudte forklarende tekster.
> Det har jeg forsøgt at sætte sammen sådan:
>
> body = "Navn: " & upload.Form("navn") & vbCrLf & "Adresse: " &
> upload.Form("adr") ....... osv.


Du mangler formentlig et & eller et komma.
http://www.computerperformance.co.uk/Logon/code/code_800A0401.htm


Den måde at sammensætte strenge på, vil jeg ændre til noget mere overskueligt.
Del & Hersk :

body = "Navn: " & upload.Form("navn") & vbCrLf
body = body & "Adresse: " & upload.Form("adr") & vbCrLf
body = body & "EtEllerAndet: " & upload.Form("elEllerAndet") & vbCrLf
.....

Dertil kommer at det er nemmere at kommenterer de forskellige input, hvis det er nødvendig.


--
Six Degrees Of Separation


Erik Ginnerskov (09-03-2008)
Kommentar
Fra : Erik Ginnerskov


Dato : 09-03-08 23:19

Michael Weber wrote:

> Du mangler formentlig et &

Det var lige hvad der gjorde - indtil flere steder. Jeg var nok for træt til
at få øje på det i går.

> Den måde at sammensætte strenge på, vil jeg ændre til noget mere
> overskueligt.
> Del & Hersk :
>
> body = "Navn: " & upload.Form("navn") & vbCrLf
> body = body & "Adresse: " & upload.Form("adr") &
> vbCrLf
> body = body & "EtEllerAndet: " & upload.Form("elEllerAndet") & vbCrLf

Det ligner en rigtig god ide. Det vil også spare mig for en allerhelvedes
lang kodelinje. Den adopterer jeg.

Tak for hjælpen

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Ukendt (09-03-2008)
Kommentar
Fra : Ukendt


Dato : 09-03-08 08:23


"Erik Ginnerskov" <erik.ginnerskov@live.dk> skrev i en meddelelse
news:47d32df1$0$90267$14726298@news.sunsite.dk...
> Hej NG
>
> Jeg sidder og fumler med at få sendt en større samling formulardata. I
> originalscriptet ligger en kodelinje:
>
> body = upload.Form("besked")
>
> Linjen henter input fra et tekstarea og det fungerer fint med den
> originale formular.
>
> I den ændring, jeg sidder med, skal input fra en (meget) lang række
> inputfelter stykkes sammen med nogle indskudte forklarende tekster. Det
> har jeg forsøgt at sætte sammen sådan:
>
> body = "Navn: " & upload.Form("navn") & vbCrLf & "Adresse: " &
> upload.Form("adr") ....... osv.
>
> Det gør så, at jeg får en fejlmeddelelse
>
> 800a0401 Expected end of statement
>
> Men forklaringen på aspfaq.com bliver jeg ikke klogere af.

Jeg kender ikke "upload.Form("")", men hvis din formular har method="post"
kan du bygge strengen med request.Form:
<%body = "Navn: " & request.Form("navn") & vbCrLf & "Adresse: " &
request.Form("adr") %>
God weekend
Henning



Finn Elmgaard (09-03-2008)
Kommentar
Fra : Finn Elmgaard


Dato : 09-03-08 09:45

"Erik Ginnerskov" <erik.ginnerskov@live.dk> wrote in message
news:47d32df1$0$90267$14726298@news.sunsite.dk...
> Hej NG
>

> I den ændring, jeg sidder med, skal input fra en (meget) lang række
> inputfelter stykkes sammen med nogle indskudte forklarende tekster. Det
har
> jeg forsøgt at sætte sammen sådan:
>
> body = "Navn: " & upload.Form("navn") & vbCrLf & "Adresse: " &
> upload.Form("adr") ....... osv.
>

Uden at kommentere de andre svar iøvrigt, vil jeg mene, at det generelt er
en god ide at lægge overførte parametre over i variabler ved større og
komplicerede opbygning af strenge, som det f.eks ofte er tilfældet ved
opbygning af SQL-kald.

Altså dette pricip:
Navn=Request.Form("navn")
Adresse=Request.Form("navn")

body="Navn:" & Navn & o.s.v.

Herved får du en meget mere overskuelig streng og færre ". Og det er jo ofte
dem der giver fejl!

mvh
Finn





Jørn Andersen (10-03-2008)
Kommentar
Fra : Jørn Andersen


Dato : 10-03-08 02:32

On Sun, 9 Mar 2008 09:45:28 +0100, "Finn Elmgaard"
<finnxxx@elmgaard.com> wrote:

>Uden at kommentere de andre svar iøvrigt, vil jeg mene, at det generelt er
>en god ide at lægge overførte parametre over i variabler ved større og
>komplicerede opbygning af strenge, som det f.eks ofte er tilfældet ved
>opbygning af SQL-kald.

Enig.

>Altså dette pricip:
>Navn=Request.Form("navn")
>Adresse=Request.Form("navn")
>
>body="Navn:" & Navn & o.s.v.

Vil man raffinere det lidt, så kan man dels give sine variable et
"type-præfix" (fx strNavn) og dels "gøre dem færdige" som variable:

strNavn = Trim ("" & Request.Form("navn"))
If strNavn <> "" Then
strNavn = "Navn: " & strNavn & vbcrlf
End If

strAdresse = Trim ("" & Request.Form("adresse"))
If strAdresse <> "" Then
strAdresse = "Adresse: " & strAdresse & vbcrlf
End If
osv.

På den måde slipper man for en masse "snask" i den endelige
samle-variabel:
strBody = strNavn & strAdresse ....

Hvis inputs ikke må være tomme strenge, så kan man putte en Else ind i
If'en, som udløser en fejlmeddelelse.
Hvis man vil lave en en mere udvidet validering, så gør dette i
input-delen.

Selv om ASP næsten opfordrer til "spaghetti-kode", så kan man med lidt
disciplin dele sine applikationer op i fx en input-del, en
databehandlingsdel, en output-del osv. - altså modul-opbygge sin kode.
Det gør det nemmere at overskue koden - og nemmere at se, hvornår man fx
med fordel kan erstatte gentagne rutiner med funktioner og subs.

Blot til inspiration ...


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Erik Ginnerskov (10-03-2008)
Kommentar
Fra : Erik Ginnerskov


Dato : 10-03-08 23:08

Jørn Andersen wrote:

> Vil man raffinere det lidt, så kan man dels give sine variable et
> "type-præfix" (fx strNavn) og dels "gøre dem færdige" som variable:
>
> [klip en masse kode]

Jeg kan godt se, hvad du mener, men nu er jeg sådan set færdig med
dataopsamlingen og synes selv at koden er overskuelig. Jeg har ikke mod på
at begynde helt forfra med næsten 50 input.

Jeg har sådan set kun et problem tilbage: Man kan ikke vedhæfte filer, det
ville ellers være nyttigt til formålet.

Formularen begynder sådan:

<form action="send.asp" id="foo" enctype="multipart/form-data"
method="post">

.... og inputfelterne ser sådan ud:

<input type="file" name="plan" class="form" size="38" />

Der er ikke i send.asp noget kode, der modtager vedhæftede filer fra
formularen. Jeg mindes ikke at have set noget om det problem. Hvordan griber
jeg det an?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Erik Ginnerskov (13-03-2008)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-03-08 15:17

Erik Ginnerskov wrote:

> Jeg har sådan set kun et problem tilbage: Man kan ikke vedhæfte
> filer, det ville ellers være nyttigt til formålet.

Jeg har forsøgt med

& upload.Form("[feltnavn]")

.... men det resulterer bare i, at den vedhæftede fil bliver tillagt mailens
body som digital information - det dur selvfølgelig ikke.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste