Avatar billede obhat Nybegynder
18. august 2005 - 22:23 Der er 7 kommentarer og
1 løsning

Tjek indhold af formular

Er det muligt at tjekke en formular, feks. om et felt indeholder sammenhængende ord, der er længere end 25 tegn?
Avatar billede softspot Forsker
18. august 2005 - 22:32 #1
Du kan iterere over alle felter i en formular med flg. VBScript:

For Each field in Request.Form
  Response.Write Request.Form(field & "=" & Request.Form(field) & "<br>")
Next


Så kan du jo i princippet gør hvad som helst med Request.Form(field) i det loop...

Et check på om en tekst indeholder ord der er længere end 25 tegn kunne implementeres som følger:

ord = Split(Tekst, " ")

for idx = 0 to ubound(ord)
  if len(ord(idx)) > 25 then
    Response.Write "Flg. ord er længere end 25 tegn: " & ord(idx)
  end if
next
Avatar billede obhat Nybegynder
19. august 2005 - 08:00 #2
Fint, tak for hjælpen
Avatar billede obhat Nybegynder
19. august 2005 - 08:08 #3
idx - er det så formularfeltet?
og hvad betyder "ubound"
Avatar billede softspot Forsker
19. august 2005 - 11:02 #4
Tanken var at koden skulle sættes sammen til flg.:

'------------------------------------------------
' Gennemløb alle felter på formularen
'------------------------------------------------
For Each field in Request.Form
  '------------------------------------------------
  ' Hent indholdet af det aktuelle felt
  '------------------------------------------------
  Tekst = Request.Form(field)

  '------------------------------------------------
  ' Opdel teksten fra feltet ved mellemrum,
  ' så hvert enkelt ord fylder en plads i et array
  '------------------------------------------------
  ord = Split(Tekst, " ")

  '------------------------------------------------
  ' Gennemløb hvert ord for at se om det er længere end 25 tegn.
  ' Ubound finder antallet af ord (minus 1) i listen.
  '------------------------------------------------
  for idx = 0 to ubound(ord)
    '------------------------------------------------
    ' Hvis ordet er længere end 25 tegn,
    ' så skriv en besked i det svar der
    ' sendes til browseren fra serveren
    '------------------------------------------------
    if len(ord(idx)) > 25 then
      Response.Write "Flg. ord er længere end 25 tegn: " & ord(idx)
    end if
  next 
Next


Som du kan se, så er idx en tæller der benyttes til at gennemløbe hvert enkelt ord i hvert felt i formularen.

Ubound finder den øvre grænse i en liste (den tekniske term er "array" hvis du vil søge efter det på nettet). Den kan bruges når man ikke på forhånd ved hvor stor en liste er, men f.eks. gerne vil gennemløbe alle elementer i listen.
Avatar billede obhat Nybegynder
19. august 2005 - 11:07 #5
Det skal jeg vist lige arbejde lidt med, men takker for svaret:)
Avatar billede softspot Forsker
19. august 2005 - 11:18 #6
Hvis du vil af med nogle point, så får du lige et svar ;)
Avatar billede obhat Nybegynder
19. august 2005 - 11:42 #7
Points :)
Avatar billede softspot Forsker
19. august 2005 - 11:47 #8
Tak for point(s) :)
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
Kurser inden for grundlæggende programmering

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