webForumDet fria alternativet

checked i checkbox efter postning

ASP

7 svar · 287 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#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?

Medlem 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

Medlem 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=""

Medlem 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!

Medlem 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>
Medlem sedan juni 20003 076 inlägg
#6

Super duper! :bire

Medlem 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...

Medlem sedan juni 20003 076 inlägg
#8

Coolt! :bire

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)