Avatar billede axkris Nybegynder
18. april 2002 - 19:11 Der er 20 kommentarer og
1 løsning

Fejl ved tomme checkboxe

Jeg henter data fra en form vha. et loop. formCount er lig med antallet af værdier. Blandt felterne er der checkboxe. Når disse er checkede, går det godt, men hvis de ikke er checkede, får jeg "index out of range"...

???

for w = 1 to formCount
formValue(w) = Request.Form(w)
next
Avatar billede axkris Nybegynder
18. april 2002 - 19:13 #1
Sådan ser kildekoden ud:

<input type="CHECKBOX" name="user3" value="True" CHECKED>
Avatar billede killer_r Nybegynder
18. april 2002 - 19:15 #2
for w = 1 to formCount
if not Request.Form(w) = "" then
formValue(w) = Request.Form(w)
end if
next
Avatar billede axkris Nybegynder
18. april 2002 - 19:17 #3
Jamen, det løser jo ikke problemet... tværtimod betyder det, at værdierne i array'et forskydes!
Avatar billede axkris Nybegynder
18. april 2002 - 19:22 #4
... så vidt jeg kan se, er det INGRENTING... end ikke en tom streng ("")...
Avatar billede eagleeye Praktikant
18. april 2002 - 19:28 #5
formCount hvor får du den fra ??
Avatar billede axkris Nybegynder
18. april 2002 - 19:29 #6
Den definerer jeg selv - afhængigt af antallet af felter, incl. checkboxe.
Avatar billede eagleeye Praktikant
18. april 2002 - 19:32 #7
Arha se der er problemmet:

For hvis man ikke vælger en checkbox bliver den nemlig ikke overført.

Hvis du har 10 checkboxe og du sætter kryds i to af dem får du kun overført 2 form elementer.

Så du skal benytte den count som formen selv giver:

formCount = Request.Form.Count
for w = 1 to formCount
formValue(w) = Request.Form(w)
next
Avatar billede axkris Nybegynder
18. april 2002 - 19:55 #8
Tja... det er nok rigtigt... men stadigvæk sker der jo en forskydning af værdierne i array'et... de er ikke længere som forventet...
Avatar billede eagleeye Praktikant
18. april 2002 - 19:59 #9
Tja for den ovrføre kun hvor der en en værdi.

Jeg er heller ikke sikker på at man med garenti får FORM data i den række fælge de er lang i formen...

Du kan jo ændre deres værdi fra "true" til et tal: 1,2,3,4,5 osv så kan du se hvilke checkbokse der er kryds i.
Avatar billede axkris Nybegynder
18. april 2002 - 20:01 #10
formValue(w) = Request.Form(w) giver værdien... OK... Er der nogen måde, hvorpå jeg tilsvarende kan teste navnet? I så fald kan problemet jo løses?
Avatar billede axkris Nybegynder
18. april 2002 - 20:14 #11
>>> Du kan jo ændre deres værdi fra "true" til et tal: 1,2,3,4,5 osv så kan du se hvilke checkbokse der er kryds i...

gODT FORSØGT! Men det ændrer desværre intet. Det virker ikke...
Avatar billede eagleeye Praktikant
18. april 2002 - 20:16 #12
du kan give dem samme værdi som navn så har du navnet.
Avatar billede axkris Nybegynder
18. april 2002 - 20:20 #13
>>> du kan give dem samme værdi som navn så har du navnet.

... Nej, for stadigvæk: Hvis checkboxen ikke er checked, kommer der INGENTING!
Avatar billede eagleeye Praktikant
18. april 2002 - 20:21 #14
Ja det er rigtigt sådan virker det...

Prøv at indsætte dette den udskriver den liste du får fra form'en:

Response.write "Items: " & Request.Form.Item
Avatar billede eagleeye Praktikant
18. april 2002 - 20:24 #15
Skal du bruge alle navne til noget??
Avatar billede eagleeye Praktikant
18. april 2002 - 20:28 #16
Er det kun checkbox'e du har?
Avatar billede axkris Nybegynder
18. april 2002 - 20:32 #17
Navnene... nej ikke lige her, men hvis jeg kunne uddrage dem, kunne jeg jo teste... jeg kender jo navnene...
Ex. If navn1 = navn1 osv...

Nej, det er ikke kun checkboxe... Der er også andre felter...
Avatar billede eagleeye Praktikant
18. april 2002 - 20:35 #18
Hvis de hedder Navn1, Navn2, Navn3, kan du gøre noget i stil med:

for i = 1 to 3
  Response.Write "Checkbox Navn"&i&" value="& Request.Form("Navn"&i) & "<br>"
next
Avatar billede eagleeye Praktikant
18. april 2002 - 20:35 #19
hvis du sprøger Request.Form("navnfindesikke") vil den altid returnere "", en tom streng.
Avatar billede axkris Nybegynder
18. april 2002 - 20:39 #20
Lad mig lige teste det....
Avatar billede axkris Nybegynder
18. april 2002 - 20:51 #21
Det kunne se ud som om, det er den vej, jeg skal gå for at løse problemetet. Tak...
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