webForumDet fria alternativet

radiobutton med flera olika namn

ASP

6 svar · 664 visningar · startad av golgata

Medlem sedan maj 2000131 inlägg
Frågan#1

Har flera radioknappar som heter olika beroende på vilket ID som loopas fram. Se kod nedan.

Nu vill jag spara detta.
Hur gör jag för att spara flera olika värden beroende på vilken knapp som är tryckt i de olika fälten.

Kan t.ex. bli så här.
Radioknapp namn = 1
Värde = 1

Radioknapp namn = 3
Värde = 2

Radioknapp namn = 10
Värde = 0

Allt detta ska in på 3 rader i MySql databasen.

Har följande kod:

<%    Do Until Rs1.EOF %>    
<input name="<%=rs1("Id")%>" type="radio" checked value="0">
<input name="<%=rs1("Id")%>" type="radio" style="background: #FF0000;" value="1">
<input name="<%=rs1("Id")%>" type="radio" style="background: #FF0000;" value="2">
<%
Rs1.MoveNext
loop
Rs1.close
%>
Medlem sedan juni 20019 519 inlägg
#2

rs1("id") är det ett tal?

Du gruppera en radio med dess namn.. dvs om rs1("id") är golgata så kommer golgata kunna ha 3 värden totalt: 0,1 och 2

Varför vill du spara det på 3 rader? Du kommer endast få ett svar i ditt Request.Form på den den inputens namn.

Jag förstå inte riktigt vad du vill göra... är det så att du loopar ut 3st träffar ifrån ditt Recordset och vill spara ner det resultatet ifrån vad som visas?
Då kan du använda något liknande:

For each f from Request.Form
  Response.Write f & " har värdet: " & Request.Form(f)
Next

Och använda det för att uppdatera i din sql databas med loopen.

_problemet_ kommer när du har fler <input> (om du har det) för då kommer den även ta in dom i din for each loop.

Du kan använda något liknande isåfall:

<%    Do Until Rs1.EOF %>    
<input name="r__<%=rs1("Id")%>" type="radio" checked value="0">
<input name="r__<%=rs1("Id")%>" type="radio" style="background: #FF0000;" value="1">
<input name="r__<%=rs1("Id")%>" type="radio" style="background: #FF0000;" value="2">
<%
Rs1.MoveNext
loop
Rs1.close
%>

och använda loopen:

For each f from Request.Form
  If Left(f,2) = "r_" Then
    UserId = split(f,"_")(1)
    'Do update
    Response.Write f & " har värdet: " & Request.Form(f) & ", och AnvändarId:et är: " & UserId
  End If
Next
Medlem sedan maj 2000131 inlägg
#3

var kanske inte tillräckligt tydlig.

id:t kommer från databasen

så först kan det bli radioknappens namn 1 där besökaren har möjlighet att välja bland 3 alternativ. värde 1,2,3
sen nästa radioknapp kan heta 4 där besökaren har möjlighet att välja bland 3 alternativ. värde 1,2,3
sen nästa radioknapp kan heta 9 där besökaren har möjlighet att välja bland 3 alternativ. värde 1,2,3

eftersom detta loppas ut hela tiden så vet man inte vad det är för nr på radioknappen och kan därför inte lägga en fast request.form i sql satsen.

visar med smiles hur det ser ut.
:) = 1
:( = 2
:r = 3

radioknapp 1 :) :( :r text text text
radioknapp 4 :) :( :r text text text
radioknapp 9 :) :( :r text text text

värdet på rad 1 ska sparas i en rad
värdet på rad 4 ska sparas i en rad
värdet på rad 9 ska sparas i en rad

Medlem sedan juni 20019 519 inlägg
#4

Redigerade mitt inlägg. Och att id:et kommer från databasen förstod jag. Är 1,4 och 9 anvädareIdn?
Jag personligen gillar inte att ha name="1" i ett Input fält... 1 är inget namn i mina ögon.

du lägger inte en fast Request.Form() i mitt Exempel. Den hämtar ut alla Formulär som börja på r_ och hämta ut vilket id det gäller genom namnet (efter r_ kommer ett id).

Medlem sedan maj 2000131 inlägg
#5

Tack! Fungerade kanon

Medlem sedan juni 20019 519 inlägg
#6

aasah skrev:

Golgata - Markera det svar som löste problemet - inte ditt lilla "tack"!

Från din andra tråd ;)

Medlem sedan maj 2000131 inlägg
#7

fixat ;)

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)