webForumDet fria alternativet

Sortera checkboxar

1 svar · 199 visningar · startad av Sebbe

SebbeMedlem sedan jan. 20032 285 inlägg
#1

Jaha, nu är det jag som ska fråga. :)

Jag håller på med ett sänkaskepp spel, och nu har jag kommit fram till när man ska placera ut sina båtar. Det är ju så att man måste sätta dom ("prickarna") på en rad, lodrätt eller vågrätt. Jag har den här koden för att kolla om de ("prickarna") är på rad:

arrNum = Array("A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","E1","E2","E3","E4","E5","E6","E7","E8","E9","E10","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","G1","G2","G3","G4","G5","G6","G7","G8","G9","G10","H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","I1","I2","I3","I4","I5","I6","I7","I8","I9","I10","J1","J2","J3","J4","J5","J6","J7","J8","J9","J10")
arrBok = Array("A1","B1","C1","D1","E1","F1","G1","H1","I1","J1","A2","B2","C2","D2","E2","F2","G2","H2","I2","J2","A3","B3","C3","D3","E3","F3","G3","H3","I3","J3","A4","B4","C4","D4","E4","F4","G4","H4","I4","J4","A5","B5","C5","D5","E5","F5","G5","H5","I5","J5","A6","B6","C6","D6","E6","F6","G6","H6","I6","J6","A7","B7","C7","D7","E7","F7","G7","H7","I7","J7","A8","B8","C8","D8","E8","F8","G8","H8","I8","J8","A9","B9","C9","D9","E9","F9","G9","H9","I9","J9","A10","B10","C10","D10","E10","F10","G10","H10","I10","J10")

j = 0
l = 0
For Each str In Request.Form
  If Request.Form(str) = 1 Then
    If j = 0 Then
      For i = 0 To UBound(arrNum)
        If arrNum(i) = str Then
          intNum = i
          Exit For
        End If
      Next
      For i = 0 To UBound(arrBok)
        If arrBok(i) = str Then
          intBok = i
          Exit For
        End If
      Next
      j = 1
    Else
      If str = arrBok(intBok + 1) OR str = arrNum(intNum + 1) Then
        For k = 0 To UBound(arrNum)
          If arrNum(k) = str Then
            intNum = k
            Exit For
            l = 1
          End If
        Next
        If l = 0 Then
          For k = 0 To UBound(arrBok)
            If arrBok(k) = str Then
              intBok = k
              Exit For
            End If
          Next
        End If
      Else
        Server.Transfer("fel.asp")
      End If
    End If
    intSt = intSt + 1
  End If
Next

Nu till problemet: När jag skriver ut vilka checkboxar jag klickade i skrivs de ut i oordning; t.ex: A3, A1, A2, A5, A4. På så sätt är det ju omöjligt för arrayen att veta att de är i ordning, fasstän de är det.

Det jag undrar är om det finns något sätt att ordna resultaten på, så att de listas: A1, A2, A3, A4, A5?

solbulleMedlem sedan mars 20015 287 inlägg
#2

Jag föreslår då, som sagt ;) , att du skippar formloopen: "For Each str In Request.Form" och kör en loop baserad på din array - på så sätt får du ju alla formfält samt de kommer i en ordning som du kan kontrollera.

<%
arrNum = Array("A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","E1","E2","E3","E4","E5","E6","E7","E8","E9","E10","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","G1","G2","G3","G4","G5","G6","G7","G8","G9","G10","H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","I1","I2","I3","I4","I5","I6","I7","I8","I9","I10","J1","J2","J3","J4","J5","J6","J7","J8","J9","J10")

For koll = 0 to ubound(arrNum)
	str = arrNum(koll)

	If Request.Form(str) > 0 then
		response.write str & " : " &  Request.Form(str) & "<br>"
	End If
Next
%>
128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)