hvorfor er det du ikke bare laver en optælling af dit array i stedet for at lave 2 sessions? Desuden kan jeg ikke se at du laver en split på dit array?
<% 'Split din session så du kan hente værdierne (går ud fra at du bruger komma mellem værdierne? TmpPerson = Split(session(""), ",")
'Her kan du så udskrive dit array For i = LBound(TmpPerson) to UBound(TmpPerson) Response.write "Person nr. " & i & " " & TmpPerson(i) & "<br><br>" Next
men i og med du allerede har et array burde du kunne nøjes med for i = o to ubound(session("TmpPerson")) response.write "person nr." &i& " " & session("TmpPerson")(i)
Det er måske lidt nemmere hvis jeg kopierer koden herind.
Jeg laver en optælling på den forgående side, se her :
if NOT rs.EOF then rsarr = rs.GetRows() max = Ubound(rsarr,2) else max = 0 end if
Dim xPerson(), TmpPerson
iDate = Request.querystring("Date") xCount= 0 For i = 0 to Max
'Full name person = rsarr(2,i) & " " & rsarr(3,i) 'Get date Tmprsarr = rsarr(4,i) 'Redim Redim xPerson(0)
If Tmprsarr = iDate Then Response.Write "<input type=checkbox name=person value=" & person & " checked>" & person & "<br><br>" xPerson(xCount) = person xCount = xCount + 1 Else Response.Write "<input type=checkbox name=person value=" & person & ">" & person & "<br><br>" End If Next Session("TmpPerson") = xPerson Session("TotalPersoner") = Max
Dette er så siden jeg kommer til : TmpPerson = Session("TmpPerson") Max = Session("TotalPersoner")
For i = 0 to Max Response.write "Person nr. " & i & " " & TmpPerson(i) & "<br><br>" Next
hvis det er fordi du skal bruge værdien af de personer som du krydser af på den første side kan du jo hente personerne ved at lave en request.form("person") som automatisk vil lave et array med de personer som du har lavet er "hak" ved på forrige side.
vil mene at den klart nemmeste måde at gøre det på er, blot ved at tjekke hvilke navne som var checked på forrige side, har lavet et lille eksempel: http://exp.lynkineser.dk/array_george.asp
tjaz: Jeg har længe siddet og kigget på din kode for den virker jo fint som den er der, men jeg skal have indhold af array'et med over på en anden side.
side1.asp indholder form side2.asp viser de personer der var sat et hak ved.
Din form ser sådan ud : <form action="?f=tjekarray" method="post"> Min form ser sådan ud : <form action="1.asp" method="post">
Du bruger jo samme asp fil til at vise resultatet.
Nu virker det næsten. Jeg har prøvet med koden fra busschau :
for i = o to ubound(session("TmpPerson")) response.write "person nr." &i& " " & session("TmpPerson")(i)
og der viser den 1. celle i array'et. Nu mangler jeg kun af få den til at vise resten af cellerne i array'et. Hmm... men hvordan ?
Her er koden som den ser ud nu : >> Side 1 << Dim xPerson(), TmpPerson
iDate = Request.querystring("Date") xCount= 0
'Redim Redim xPerson(0)
For i = 0 to Max
'Full name person = rsarr(2,i) & " " & rsarr(3,i) 'Get date Tmprsarr = rsarr(4,i)
If Tmprsarr = iDate Then Response.Write "<input type=checkbox name=person value=" & person & " checked>" & person & "<br><br>" xPerson(xCount) = person xCount = xCount + 1 Else Response.Write "<input type=checkbox name=person value=" & person & ">" & person & "<br><br>" End If Next Session("TmpPerson") = xPerson Session("TotalPersoner") = Max
>> side 2 << Tmp = ubound(session("TmpPerson")) Response.Write("Størrelse af array er : " &Tmp) & "<br>"
for i = 0 to ubound(session("TmpPerson")) response.write "person nr." &i& " " & session("TmpPerson")(i) Next
Og den viser altså kun celle 0 ( session("TmpPerson")(0) )
>>tjaz<< For at lærer lidt af det her, kan du ikke forklarer mig hvad det er denne linje gør, for jeg bruger ikke kommaer mellem værdierne og forstår ikke rigtig hvad det er det sker i den linje.
TmpPerson = Split(session(""), ",") ( Split session(ingenting) ) eller hvad ???
Troede lige at jeg var rigtig snedig ;-) og ændrede "TmpPerson = Split(request.form("person"), ",")" til "TmpPerson = request.form("person")", men for så fejlen "Type mismatch: 'LBound'"
Det kom godt nok til at se underligt ud. Før stod det som det skulle med et checkbox felt + fornavn og efternavn. Nu viser den kun checkbox felter, 3 rækker af 10 checkboxe uden navne og 1 række med 7 checkbox også uden navne.
TmpPerson = Split(request.form("person"), ",") tager af en eller anden årsag kun fornavnet med over. Nu har jeg lige testet det et par gange til for at være sikker.
grunden til at dine navne ikke kommer med da du rettede koden til det jeg skrev var fordi du glemte at sætte " & person & "<br><br>" bagefter ... var bare fordoven til at skrive det ... troede du kunne se det :)
If Tmprsarr = iDate Then Response.Write "<input type=""checkbox"" name=""person"" value=""" & person & """ checked>" & person & "<br><br>" Else Response.Write "<input type=""checkbox"" name=""person"" value=""" & person & """>" & person & "<br><br>" End If
jeg har lige testet ... og grunden til at den ikke tager hele navnet med er fordi din html kode ser sådan her ud (kun din input):
<input type=checkbox name=person value=Person Navn checked>
så tager den ikke det som står efter mellemrummet i value, altså den tager kun "person" i det her tilfælge, hvor hvis du retter til dem jeg lige har skrevet så ser din html sådan her ud:
det jeg var ude efter var hvordan din html så ud efter du havde kørt dit script, men jeg har selv funder ud af hvorfor du kun får fornavnet med så læs lige de sidste 3 indlæg jeg har lavet, så skulle det komme til at virke
Dvs, hvis du laver følgende rettelse (indlæg: 29/10-2006 15:50:48)
If Tmprsarr = iDate Then Response.Write "<input type=""checkbox"" name=""person"" value=""" & person & """ checked>" & person & "<br><br>" Else Response.Write "<input type=""checkbox"" name=""person"" value=""" & person & """>" & person & "<br><br>" End If
Ja det burde jeg også have set. ;-( Nogle gange hjælper det at gå væk fra koden og vende tilbage senere, men man vil jo så gerne få det til at virke her og nu.
Det virker fint, både fornavn og efternavn kommer med.
Tak for din tålmodighed. Jeg var lige ved at give op.
Synes godt om
Ny brugerNybegynder
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.