webForumDet fria alternativet

checked i checkbox efter postning

7 svar · 285 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Har denna kod i ett formulär:

For I = 1 To 52
Response.Write("<input type=""checkbox"" name=""Weeks"" value=""" & I & """>" & vbCrlf)
Next

När jag sedan postar formuläret skapas variabeln Weeks med värden från samtliga icheckade boxar, typ:
Weeks = 1,4,23,45
Hur kan jag få dessa boxar att vara icheckade efter postningen?

En variant är ju att döpa dem med olika namn Weeks1, Weeks2...
Men då lär jag ju göra 52 variabler (lockar inte direkt).
Tips?

EkströmMedlem sedan feb. 20022 594 inlägg
#2

Du får splitta upp variabeln Weeks och sedan loopa ut de i ett JavaScript-skriptblock där du får typ Response.Write("document.myform.Weeks"& myarray(i) &".checked = true") eller nåt sånt. Är mycket osäker när det gäller JavaScript

MacceMedlem sedan apr. 2001425 inlägg
#3

lägg din sträng i en variabel och när du loopar ut boxarna så kör en if-sats vid varje rad:
IF instr("," & strWeeks, "," & I & ",")>1 THEN checked="checked" else checked=""

doggelitoMedlem sedan juni 20003 076 inlägg
#4

Macce skrev:

lägg din sträng i en variabel och när du loopar ut boxarna så kör en if-sats vid varje rad:
IF instr("," & strWeeks, "," & I & ",")>1 THEN checked="checked" else checked=""

Det blir nog inte korrekt va!
Kryssar man i t.ex. 52 så blir ju 5 och 2 icheckad. :)

Ekström skrev:

Är mycket osäker när det gäller JavaScript

Jag också! :) Men det kanske går!

JohnsenMedlem sedan juli 2000836 inlägg
#5

Otestat, men det borde gå...

<form name="foo">
<%
Weeks = "1,4,23,45"

For I = 1 To 52
Response.Write("<input type=""checkbox"" name=""Weeks"" value=""" & I & """>" & vbCrlf)
Next
%>
</form>

<script>
theArr = new Array(<%= Weeks %>)
for(var j=0; j<theArr.length; j++){document.foo.Weeks[eval(theArr[j]-1)].checked=true}
</script>
doggelitoMedlem sedan juni 20003 076 inlägg
#6

Super duper! :bire

MacceMedlem sedan apr. 2001425 inlägg
#7
 Det blir nog inte korrekt va! 
Kryssar man i t.ex. 52 så blir ju 5 och 2 icheckad.

Jo då, om du tittar på koden kommer du att se att det måste finnas ett komma både framför och bakom, glömde dock skriva att du måste lägga till ett extra komma sist i strängen...

doggelitoMedlem sedan juni 20003 076 inlägg
#8

Coolt! :bire

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)