webForumDet fria alternativet

läs in värden från radioknappar

ASP

15 svar · 311 visningar · startad av johannaloke

Medlem sedan apr. 200393 inlägg
Frågan#1

Då var det Johanna igen som stött på problem....

Är inte så duktig på html. Jag har lite html-kod med radioknappar. När jag kryssat i mina val och klickar på OK så vill jag ta reda på vad som kryssats i i respektive radioknappsgrupp och skicka de värdena vidare.
Kan jag förresten skicka det till samma asp-sida? Just nu ligger html-koden och mina if-ar (med vad som ska hända om det ena eller andra alternativet är valt) i samma asp-fil. Är det fel att ha det så?

När jag trycker OK vill jag göra redirect med det jag läst in. Kan jag det och i så fall hur gör jag det?

<P><STRONG>Vad vill du göra?</STRONG></P>
<P><INPUT id=radio1 type=radio name=radio2>Lägg till</P>
<P><INPUT id=radio2 type=radio name=radio2>Redigera</P>
<P><INPUT id=radio3 type=radio name=radio2>Ta bort</P>
<P>&nbsp;</P>
<P></P>
<P><STRONG>Vad vill du lägga till/redigera/ta bort?</STRONG></P>
<P><INPUT id=5 type=radio name=radio value=5>VD</P>
<P><INPUT id=1 type=radio name=radio value=1>Enhet</P>
<P><INPUT id=2 type=radio name=radio value=2>Huvudavdelning/fabrik</P>
<P><INPUT id=3 type=radio name=radio value=3>Underavdelning/ansvarsområde</P>
<P><INPUT id=4 type=radio name=radio value=4>Person</P>
<P></P>
<P><INPUT type=submit value=OK></P>

Tack på förhand!
//Johanna

ps. jag kanske har satt in tråden i fel forum men jag tänkte att det är asp-koden som jag inte vet hur jag ska få till och det kan ju ni här i detta forum!

Medlem sedan nov. 20017 144 inlägg
#2

Det kan du om du vill lösa med en case-sats och subbar på en och samma sida, det går bra.

Medlem sedan nov. 20017 144 inlägg
Medlem sedan apr. 200393 inlägg
#4

Jesper T

Är det denna raden:
<form method="POST" action="action.asp?foo=uppdatera">
som gör att jag läser in det jag klickat för?

I så fall hur lägger jag över i nån variabel vilka knappar jag klickat i? Så att jag kan skicka med dem i action?
Alltså hur får jag foo att bli uppdatera?
//Johanna

Medlem sedan nov. 20017 144 inlägg
#5

Nja, i ditt fall skulle det kanske vara bra att göra ungefär si så här:

<P><INPUT type=radio name=foo value=addera>Lägg till</P>
<P><INPUT type=radio name=foo value=uppdatera>Redigera</P>
<P><INPUT type=radio name=foo value=radera>Ta bort</P>

Då så kommer du få värdet i aktuell radioknapp.

Medlem sedan maj 20035 inlägg
#6

<P><INPUT type=radio name=foo value=addera>Lägg till</P>
<P><INPUT type=radio name=foo value=uppdatera>Redigera</P>
<P><INPUT type=radio name=foo value=radera>Ta bort</P>

name attributet grupperar din radioknapp och därefter måste du precis som Jesper skriver ange value för att överhuvudtaget ha nåt värde att hämta upp.

Värdet kan du sen hämta som vanligt genom:
strVariabel = Request.Form("ditt name på radioknappsgruppen")

Det är inte fel att ha all kod på samma sida, men har du mycket kod som ska behandlas kan det va lämpligt att dela upp den på flera sidor för att göra koden och flödet mer överskådligt. Antingen genom att du anropar en annan sida med ditt formulär (form action="sida2.asp") eller att du i dina if-satser lägger koden i en include fil.
<%if villkor then%>
<!-- #include file="sida2.asp" -->
<%end if%>

Redirect gör du sedan efter det att du behandlat formuläruppgifterna i din if-sats eller på sidan där du lägger koden.

Medlem sedan apr. 200393 inlägg
#7

Tack nu har jag löst det!

Med hjälp av kontroll-funktionen sätter jag variabler till det jag prickat för (om det prickats för något) sen gör den ju omladdningen av sidan när jag klickar på OK.
Genom att gruppera min radioknappsgrupper med name samma som det jag ville skicka med när sidan laddades om fick jag ju med mina värden också. Det var det jag hade svårt att förstå hur det funkade. Men det var visst lite enklare än jag trodde ;-)
Ibland gör man saker onödigt komplicerade.
//Johanna

Medlem sedan apr. 200393 inlägg
#8

Nu behöver jag hjälp med radioknappar igen!

Nu använder jag radioknappar på ett annat ställe och där vill jag efter ett val gjorts fylla en combobox med
värden beroende på vilken radioknapp som valts. Trodde att jag kunde lösa
det genom att använda onClick i radioknappens INPUT-tag men inget hände?
Finns det något annat sätt att lösa det?

Så här ser koden ut.

<FORM METHOD="get" ACTION="person.asp" name="formtag">
<!--P><STRONG>Vad vill du göra?</STRONG></P-->

<%'value är samma som typID i databasen
'onClick="return kontroll() så att sidan laddas om direkt när ett val 
gjorts
'--- det valet som gjordes ska vara markerat och bestämma värdena i Över 
combo-boxen%>

<INPUT id=1 type=radio name=typID value="1" onClick="return kontroll()">Enhet
<INPUT id=2 type=radio name=typID value="2" onClick="return kontroll()">HuvudAvd/fabrik
<INPUT id=3 type=radio name=typID value="3" onClick="return kontroll()">UnderAvd/ansvarsomr
<INPUT id=4 type=radio name=typID value="4" onClick="return kontroll()">Person

//Johanna

Medlem sedan nov. 20017 144 inlägg
#9

Använder du onclick på dina element så skall du vända dig till JS-forumet i stället.

Medlem sedan maj 20035 inlägg
#10

Hur ser din funktion kontroll() ut?

Medlem sedan apr. 200393 inlägg
#11
<script language="javascript">

		function kontroll() 
		{
			typID = document.formtag.typID.checked //typID som ska skickas med vid omladdning av sidan
			
			//om inget matats in i den andra radioknappsgruppen typID
			if (!document.formtag.typID[0].checked && !document.formtag.typID[1].checked && !document.formtag.typID[2].checked && !document.formtag.typID[3].checked)
			{
				alert("Du måste fylla i vilken typ som ska ligga över personen"); //ge felmeddelande
				return false;
			}
		}
	</script>
Medlem sedan apr. 200393 inlägg
#12

JesperT om jag inte vill använda mig av onClick finns det något annat jag kan använda då?
Jag vet ju inte om detta är bästa alternativet. Det funkar ju inte i alla fall.
Som det är nu försöker sidan laddas om men den säger att typID i funktionen är null. Hittar inte var jag gör fel.
//Johanna

Medlem sedan maj 20035 inlägg
#13

Jag heter förvisso inte Jasper men svarar ändå.
Vad jag kan se av din funktion så är det någon form av felhantering och inte en funktion för att fylla comboboxen?
Hur ser din funktion för att fylla comboboxen ut?

Medlem sedan apr. 200393 inlägg
#14

Oj! Då fattade jag fel...
Har ingen funktion för det :l

Det kanske jag måste ha. Är det den jag i så fall ska anropa när jag klickat i en radioknapp? :q

Förstår inte riktigt hurjag ska tänka.
//Johanna

Medlem sedan apr. 200393 inlägg
#15

Om ni tittar på min kod ovan.
Varför är typID i function kontroll null? Är det någon som kan hjälpa mig med det felet?
//Johanna

Medlem sedan dec. 20003 887 inlägg
#16

Dags att du tar och vänder till JavaScript, DHTML-forumet kanske?

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