Avatar billede misbruger Nybegynder
13. august 2002 - 12:39 Der er 7 kommentarer og
2 løsninger

variable form felter....

I min form findes der en masse input felter der hedder...

<form name="form1" action="DetDerStårNedenunder">
  <input type="text" name="chk1">
  <input type="text" name="chk2">
  <input type="text" name="chk3">
  osv...
</form>

Jeg ved ikke hvor mange af dem der er...!

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

På den side som behandler min form ved submit, vil jeg gerne lave et loop der læser alle form felterne:

<%
For i = 1 To loopCount '(hvor loopCount er antallet af form felter)

    response.write Request.Form("chk"& i) &"<br>"
   
Next
%>

Er der nogen der ved om man kan gøre sådan...?
Avatar billede coltau Juniormester
13. august 2002 - 13:01 #1
Prøv lige denne så får du både feltnavn og værdi:

  For each item in Request.Form
    strS = Trim(Request.Form.Key(Item))
    strV = Trim(Request.Form(Item))
    Response.Write(strS & " = " & strV & "<br>")
  next
Avatar billede misbruger Nybegynder
13. august 2002 - 13:07 #2
Tjo..! Men hvis der ikke er udfyldt noget i en af felterne kommer den ikke med...?
Avatar billede eagleeye Praktikant
13. august 2002 - 13:09 #3
du kan godt gøre sådan som du skriver:

For i = 1 To loopCount '(hvor loopCount er antallet af form felter)

    response.write Request.Form("chk"& i) &"<br>"
   
Next
Avatar billede eagleeye Praktikant
13. august 2002 - 13:10 #4
hvis den ikke skirver noget så det nok fordi du mangler method=post i form tagen:

<form name="form1" action="DetDerStårNedenunder" method="POST">
Avatar billede misbruger Nybegynder
13. august 2002 - 13:10 #5
eagleeye -> Den udskriver ikke noget...!
Avatar billede misbruger Nybegynder
13. august 2002 - 13:10 #6
og den sidder til methode=post
Avatar billede misbruger Nybegynder
13. august 2002 - 13:11 #7
ups... method=post
Avatar billede misbruger Nybegynder
13. august 2002 - 13:23 #8
tjo jeg kunne sku godt få min metode til at virke....!

eagleeye -> smid lige et svar, så deler vi alle i porten...!
Avatar billede slamsuger Nybegynder
13. august 2002 - 14:00 #9
Løsningen er vel at du i formen angiver hvor mange felter der er,
dvs tilføjer i formen:
<input type="hidden" name="ChkCount" Value="3">

dvs

<form name="form1" action="x.asp">
  <input type="text" name="chk1" value="1">
  <input type="text" name="chk2" value="2">
  <input type="text" name="chk3" value="3">
  <input type="hidden" name="Count" Value="3">
  <INPUT type="submit" value="klik her">
</form>

dernæst skal du aflæse værdien:

intCount = CInt(Request.QueryString("Count"))
For i=1 To intCount
  Response.write( Request.QueryString("Chk" &CStr(i)))
Next


============KOMPLET KODE =====================
<form name="form1" action="x.asp">
  <input type="text" name="chk1" value="1">
  <input type="text" name="chk2" value="2">
  <input type="text" name="chk3" value="3">
  <input type="hidden" name="Count" value="3">
  <INPUT type="submit" value="klik her">
</form>

<% ' read back
intCount = CInt(Request.QueryString("Count"))
For i=1 To intCount
  Field = "Chk" &CStr(i)
  Response.write( Field &"=" &Request.QueryString(Field) &"<BR>")
Next
%>
==================================================================
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