hejsan! Så lyder standarden. Varför vill du frångå den/varför behöver du dem? jag har en sida där amvändare får köpa en "licens". hmm... tack för svaret! In operatorn jämför värden mot en mängd av värden.formen skickar bara med de checkade boxarna!?
jag har en form med checkboxes.
ur en databas tar jag fram om en box ska va checkad eller inte...
men när jag submittar så finns bara de icheckade boxarnas namn med...
går det att göra så man även ser de andra?
/alexSv: formen skickar bara med de checkade boxarna!?
Går säkert att lösa på andra sätt om du istället berättar vad du vill göra, hur din kod ser ut.Sv: formen skickar bara med de checkade boxarna!?
Användaren reggar sig och han uppgifter lagras i en databas.
När jag ser att personer betalt vill jag kunna "kryssa i dem" och aktivera deras konto. Detta vill jag göra online så jag slipper ladda upp databasen hela tiden.
det som händer är att jag tar fram alla reggade personer och om de betalt kryssas dem i.
Anledningen till att jag även vill ha de okryssade är att om jag kryssar fel vill jag kunna korrigera.
lite kod:
<code>
Call dbOpen(Con, "anvandare") 'skriver till användar-databasen
strSQL = "SELECT * FROM users"
Set objRS = Con.Execute(strSQL)
tal = 0
%>
</p>
<form name="formen" form method="post" action="admin_list2_resp.asp" onsubmit="return CheckRequiredFields();" >
<table width="100%" border="0" cellspacing="0" cellpadding="0" >
<%
Do Until objRS.EOF
' Skriv ut datan
anv = objRS("anv")
checked = objRS("betalt")
if checked = true then
%>
<tr><td><input type="checkbox" checked name="<%response.write anv%>" id="<%response.write anv%>" value="1" /><label for="<%response.write anv%>"><% response.write anv %></label></td></tr>
<%else%>
<tr><td><input type="checkbox" notchecked name="<%response.write anv%>" id="<%response.write anv%>" value="hej" /><label for="<%response.write anv%>"><% response.write anv %></label></td></tr>
<%
end if
objRS.MoveNext
Loop
%>
</table><br>
<input type="password" name="losen" id="losen" class="inputText" size="15" maxlength="100" value="" />
<label for="losen" class="kommentar">Skriv adminlösen</label>
<input id="sand" type="submit" value="Ändra" name="sand">
</form>
<%
objRS.close
Set objRS = Nothing
Call dbClose(Con)
</code>Sv:formen skickar bara med de checkade boxarna!?
<%
Call dbOpen(Con, "anvandare") 'skriver till användar-databasen
strSQL = "SELECT * FROM users"
Set objRS = Con.Execute(strSQL)
tal = 0
%>
</p>
<form name="formen" form method="post" action="admin_list2_resp.asp" onsubmit="return CheckRequiredFields();" >
<table width="100%" border="0" cellspacing="0" cellpadding="0" >
<%
Do Until objRS.EOF
' Skriv ut datan
anv = objRS("anv")
if objRS("betalt") then
%>
<tr><td><label><input type="checkbox" name="payed" value="<%=Server.HTMLEncode(anv)%>" checked /><%=Server.HTMLEncode(anv)%></label></td></tr>
<%else%>
<tr><td><label><input type="checkbox" name="payed" value="<%=Server.HTMLEncode(anv)%>" /><%=Server.HTMLEncode(anv)%></label></td></tr>
<%
end if
objRS.MoveNext
Loop
%>
</table><br>
<input type="password" name="losen" id="losen" class="inputText" size="15" maxlength="100" value="" />
<label for="losen" class="kommentar">Skriv adminlösen</label>
<input id="sand" type="submit" value="Ändra" name="sand">
</form>
<%
objRS.close
Set objRS = Nothing
Call dbClose(Con)
%>
Sedan när du tar emot:
<%
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Dim strIn
Dim strSQL
Dim temp
For each temp In Request.Form("payed")
strIN = strIN & ", " & SQLText(temp)
Next
strIn = Mid(strIN, 3)
If Len(strIn) Then
strSQL = "UPDATE [users] SET betalt = (anv IN (" & strIN & "))"
Else
strSQL = "UPDATE [users] SET betalt = False"
End If
Con.Execute strSQL
%>
Sv: formen skickar bara med de checkade boxarna!?
den andra biten kod var lite mer än vad jag förstår...
löser detta att man även vet när checkade rutor blir "ocheckade" ??
ska försöka förstå... :-)
tack åter igen!
edit: nu har jag testat det! funkar super ju!
fast nu stör jag mig på att jag inte förstår...
kan nån förklara... :-) (det är bara de sista två sql-satserna som är kryptiska)
/alexSv:formen skickar bara med de checkade boxarna!?
1 IN (1, 2, 3)
Retunerar sant.
Medans:
4 IN (1, 2, 3)
Retunerar falskt.
Då du vet vilka som är markerade. Kan vi använda detta. Om vi har fem poster:
Id Betald
1 True
2 False
3 True
4 False
5 True
Om man nu skickar sidan där 1, 2 och 3 tre är markerade. Kommer det ge resultatet:
1 True
2 True
3 True
4 False
5 False
Vad SQL satsen gör är att uppdatera samtliga poster.