Avatar billede marvinq Nybegynder
28. september 2007 - 15:24 Der er 6 kommentarer og
2 løsninger

Problem med værdi fra checkbox

Jeg har nogle spørgsmål i en rotation af checkboxe, hvor der altid er 4 tilfældige spørgsmål til stede. Eksempelvis:

<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>">

Her er name=id, og id kan være et tal imellem 1 og 150. Mit problem kommer bagefter, når jeg gerne vil registrere hvad der er krydset af og på hvilke spørgsmål der er krydset af.

Har lavet følgende: (rs er her tabellen over spørgsmålene, hvor id er nøglen til hvert spørgsmål)

<%
if NOT rs.EOF Then
  dim cc
  DO
      cc = rs("id")
   
      if request.form(cc) = "on" then
        <SQL-sætning>
      end if

  rs.MoveNext
  Loop While Not rs.EOF
end if
%>

...men ovenstående virker ikke. request giver ingenting, så den er selvfølgelig ikke = "on". Men hvordan klarer jeg lige det. Problemet er, at jeg aldrig ved hvad checkboxen hedder - det skal altid sammenlignes med id i min tabel. Og samtidig ved jeg heller ikke altid hvor mange checkboxe der kommer...! Der kan komme mellem 4 og 8.


/MHQ
Avatar billede psyclown Nybegynder
28. september 2007 - 15:29 #1
prøv med:

<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>" VALUE="on">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>" VALUE="on">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>" VALUE="on">
<INPUT TYPE=CHECKBOX NAME="<%=rs("id")%>" VALUE="on">
Avatar billede marvinq Nybegynder
28. september 2007 - 15:36 #2
Det giver det samme..

Problemet tror jeg ligger i at jeg vil hive noget ud fra formen vha.

request.form(cc)  ex. cc = 5

men det skulle jo have været på formen:

request.form("5")



/MHQ
Avatar billede psyclown Nybegynder
28. september 2007 - 15:39 #3
jamen, hvad så med at sætte VALUE til rs("id")
Avatar billede marvinq Nybegynder
28. september 2007 - 15:43 #4
nope... samme problem
Avatar billede montago Praktikant
28. september 2007 - 18:16 #5
Konkattener med string for at få en string

cc = "" & rs("id")

Men jeg ville jo nok gøre sådan her :

<INPUT TYPE=CHECKBOX NAME="CHRKBX_<%=rs("id")%>">

og bagefter:

<%
if NOT rs.EOF Then
  dim cc
  DO
      cc = "CHRKBX_" & rs("id")
 
      if request.form(cc) <> "" then 'forskellig fra ingenting er bedre end true="true"
        <SQL-sætning>
      end if

  rs.MoveNext
  Loop While Not rs.EOF
end if
%>
Avatar billede montago Praktikant
28. september 2007 - 18:22 #6
hov...

jeg ville endvidere skabe lidt forskel på checkboxene :p -- så man kan se forskel

<INPUT TYPE=CHECKBOX NAME="CHRKBX_<%=rs("id")%>" value="val1">
<INPUT TYPE=CHECKBOX NAME="CHRKBX_<%=rs("id")%>" value="val2">
<INPUT TYPE=CHECKBOX NAME="CHRKBX_<%=rs("id")%>" value="val3">
<INPUT TYPE=CHECKBOX NAME="CHRKBX_<%=rs("id")%>" value="val4">
Avatar billede hostgirl Nybegynder
30. september 2007 - 21:47 #7
If CBool(LCase(Request.Form(cc)) = "on") Then

Prøv med denne if-sætning i stedet for...
Avatar billede marvinq Nybegynder
01. oktober 2007 - 08:12 #8
For fanden da...

Jeg fandt ud af det. Store fjols. Jeg havde ikke sat min checkboxe ind i form-taget, så tror da fanden at værdien er lig ingenting.

Men synes nu alligevel vi skal dele pointene efter den flotte opskrift.

/MHQ
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