Avatar billede chrisrj Forsker
23. oktober 2002 - 11:15 Der er 21 kommentarer og
2 løsninger

Løbe checkboxe igennem

Jeg har et problem med at kører mine checkboxe igennem.

Det skal lige siges at jeg bruger en upload komponent (aspupload).

Jeg får denne fejl:

Objektet understøtter ikke denne egenskab eller metode
/bilside/www/progress_upload.asp, line 59


Her er min kode (fra linie 59):

for each item in upload.Form("box")
    if upload.Form("box") <> "" then
        boxe = boxe & upload.Form("box") & ","
    end if
  Next

Hvis man ikke kan skrive det sådan, hvordan skal man så skrive det?
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 11:18 #1
for each file in Upload.Files
  if upload.Form("box") <> "" then
    boxe = boxe & upload.Form("box") & ","
  End If
Next

Mvh,

Thomas Regin.
Avatar billede eagleeye Praktikant
23. oktober 2002 - 11:19 #2
hvis de alle har samme navn så får du automatisk en komma sepreteet liste ved:

boxe = upload.Form("box")


Hvis man sætter kryd i "box" hvor value er 1 og 5 og 7
så man overfør: 1,5,7
Avatar billede chrisrj Forsker
23. oktober 2002 - 11:21 #3
eagleeye -> Har du et liv?? ;)

Jo tak, men jeg får fejl i denne linie:

for each item in upload.Form("box")


Jeg vil tro at det er "item" den ikke kan lide...
Avatar billede eagleeye Praktikant
23. oktober 2002 - 11:25 #4
Jeps derfor som jeg skriver nøjes med den ene linie:

boxe = upload.Form("box")


Denne her:
for each item in upload.Form("box")
    if upload.Form("box") <> "" then
        boxe = boxe & upload.Form("box") & ","
    end if
  Next

laver en liste som vil sådan ud:
boxe = 1,5,7,

og du tjekke ikke på om item <> "" men du tjekke på om  upload.Form("box") <> "" så....
Avatar billede chrisrj Forsker
23. oktober 2002 - 11:27 #5
...så det vil sige at ALLE checkbox værdierne bliver smidt ind i "boxe" ved hjælp af den ene linie?
Avatar billede eagleeye Praktikant
23. oktober 2002 - 11:27 #6
hvis du har 100 check boxse med samme navn vil du få en kommaseperet list med upload.Form("box") og det som er mellem kommaeren er den værdi som står i value..:

boxe = upload.Form("box")
Avatar billede eagleeye Praktikant
23. oktober 2002 - 11:28 #7
Du kan som tjek prøve at udskrive:

Response.write upload.Form("box")
Avatar billede chrisrj Forsker
23. oktober 2002 - 11:36 #8
Jeg har skrevet det her:

boxe = upload.Form("box")
response.write "boxe: " & boxe & "<br>"

Jeg hakkede 2 boxe af på formen.

Her er outputtet:

boxe: on

Dvs. det virker ikke.. :(
Avatar billede chrisrj Forsker
23. oktober 2002 - 11:58 #9
Jeg har lige prøvet at lave kluntet løkke:

strwSQL = "select * from udstyr"
  set res = Conne.execute(strwSQL)
  do while not res.eof
    if upload.Form("box") <> "" then
        boxe = boxe & upload.Form("box") & ","
    end if
    res.movenext
  loop


Den udskriver alle boxene med samme værdi!?!?!?

boxe: on,on,on,on,on,on,on,on,


Nogen ideer til en løsning??
Avatar billede chrisrj Forsker
23. oktober 2002 - 12:39 #10
Er der virkerlig ingen der har et forslag??

Det haster sådan set en del - jeg skal bruge det imorgen!!

Flere points er ikke umuligt!!
Avatar billede eagleeye Praktikant
23. oktober 2002 - 12:56 #11
og de har alle samme navn??

<input type="checkbox" name="box" value="xx">
<input type="checkbox" name="box" value="yy">
<input type="checkbox" name="box" value="zz">
Avatar billede chrisrj Forsker
23. oktober 2002 - 12:57 #12
Ja, i øjeblikket har de.

Her er koden:

<tr bgcolor="#F3F3F3">
  <td><font face="arial,helvetica" size="1">Udstyr</font></td>
  <td colspan=3>
    <table>
        <tr>
<%
strSQL = "Select * From udstyr"
  Set rts = Conn.Execute(strSQL) '"&rts("udstyrid")&"
tal = 0
do while not rts.eof
    response.write "<td width='40'><font face='arial,helvetica' size='1'>"&rts("unavn")&"</td><td align=left width='50'><input type='checkbox' name='box' size='15'></td>" & vbcrlf
    tal = tal + 1
    if tal = 4 then
        response.write "</tr><tr>"
        tal = 0
    end if
    rts.movenext
loop
%>   
        </tr>
    </table>
  </td>
</tr>
Avatar billede chrisrj Forsker
23. oktober 2002 - 12:58 #13
lininen

Set rts = Conn.Execute(strSQL) '"&rts("udstyrid")&"

skal naturligvis være

Set rts = Conn.Execute(strSQL)
Avatar billede eagleeye Praktikant
23. oktober 2002 - 13:09 #14
du er nød et mød til at hvade value sat til ID i databasen eller noget. Ellers vil du for hver som er checked få on og så ved du ikke hvilken det er. Man får ikke information omkring checkboxe som ikke er kryds i.
Avatar billede chrisrj Forsker
23. oktober 2002 - 13:17 #15
selv om den første sætning er lidt volipyk agtig ;) tror jeg at jeg har forstået det.

Dvs. jeg skal skrive :

<input type='checkbox' name='box' size='15' value="&rts("udstyrid")&">

Og hvordan skal jeg så kører dem igennem?
Avatar billede chrisrj Forsker
23. oktober 2002 - 13:25 #16
Nu er outputtet bare:

1,1,1,1,1,1,1,1,

Det sjove er at der kommer ikke noget ud når jeg ikke hakker nogen af, men hakker jeg bare EN af kommer det output jeg har skrevet ovenfor.
Avatar billede chrisrj Forsker
23. oktober 2002 - 13:25 #17
Stryg det jeg lige har skrevet!!
Avatar billede chrisrj Forsker
23. oktober 2002 - 13:28 #18
Det skriver det første id den støder på i alle boxene. Giver det mening?

F.eks. jeg hakker nr. 2 og outputtet bliver totaller, hakker jeg f.eks. nr. 4 og outputtet bliver firtaller.
Avatar billede eagleeye Praktikant
23. oktober 2002 - 16:19 #19
tilsyneladne understytter ASPupload så ikke flere med samme navn?!?!

Prøv at rette denne:
<input type='checkbox' name='box"&rts("udstyrid")&"' size='15' value="&rts("udstyrid")&">

Til:
<input type='checkbox' name='box' size='15' value="&rts("udstyrid")&">



Og så denne kode:
strwSQL = "select * from udstyr"
  set res = Conne.execute(strwSQL)
  do while not res.eof
    if upload.Form("box") <> "" then
        boxe = boxe & upload.Form("box") & ","
    end if
    res.movenext
  loop


Til:
strwSQL = "select * from udstyr"
  set res = Conne.execute(strwSQL)
  do while not res.eof
    if upload.Form("box"&res("udstyrid")) <> "" then
        boxe = boxe & upload.Form("box"&res("udstyrid")) & ","
    end if
    res.movenext
  loop
Avatar billede chrisrj Forsker
23. oktober 2002 - 16:27 #20
Jeg har lidt (meget) travlt lige nu... jeg kigger på det senere...Det ser ellers god ud!! ;)
Avatar billede chrisrj Forsker
23. oktober 2002 - 22:21 #21
Jeg har prøvet dit forslag, men det virkede ikke!! tsk,tsk ;)

Nu har jeg ændret det lidt og nu spiller det 100 %!!! :D

Men hvordan fjerner jeg det sidste komma? Jeg ved godt at man bruger "trim" funktionen, men jeg ved ikke hvordan. :)
Avatar billede chrisrj Forsker
23. oktober 2002 - 22:31 #22
Fandt selv ud af det....
Avatar billede chrisrj Forsker
23. oktober 2002 - 23:55 #23
Du får lidt point som tak for hjælpen, selv om du ikke løste problemet. :)
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