S SannyW Medlem sedan jan. 2003 438 inlägg Frågan 10 sep. 2003 10:49 #1 Har en input type="radio" och en input type="text", de skall skicka informationen till samma ställe - name="col2".
Det som gäller är att man typ skall kunna välja bland siffrorna 1-5. (snabb knappar)
Men man kan även välja att skriva in ett valfritt värde i text rutan nedanför knapparn, utan att välja någon av snabb valen.
Ex.
<input type="radio" name="col2" value="<%=pro05%>">0,5 % - <%=pro05%>
<input Name="col2" Type="Text" size="8">
Behöver lite hjälp, hur kan man lösa detta?
S SannyW Medlem sedan jan. 2003 438 inlägg Missade att skriva, vill alltså välja mellan elementen. Antingen skickas 1 eller 2.
Oftast används radio-knapparna.
Eller om man kan hinda 2:a elementet att skickas om 1:a elementet är ifyllt.
J Jojoxx Medlem sedan juni 2000 4 308 inlägg Denna kontroll bör du göra på serversidan. Om formuläret ser ut så här exempelvis:
<input type="radio" name="col2" value="0.5" checked="checked"> 0.5<br/>
<input type="radio" name="col2" value="1.0"> 1.0<br/>
<input type="radio" name="col2" value="annat"> <input type="text" name="colannat">
Så kollar du helt enkelt om "col2" = "annat" och i så fall används värdet "colannat". I annat fall används värdet "col2".
Kan du av någon anledning inte lösa det på serversidan kan du göra så här:
<input type="radio" name="col2" value="0.5" checked="checked" onClick="this.form.col.value=this.value"> 0.5<br/>
<input type="radio" name="col2" value="1.0" onClick="this.form.col.value=this.value"> 1.0<br/>
<input type="radio" name="col2" value="annat" onClick="this.form.col.value=this.form.colannat.value"> <input type="text" name="colannat" onChange="this.form.col.value=this.value; this.form.col2[this.form.col2.length-1].checked=true;">
<input type="hidden" name="col" value="0.5">
... och använder värdet från fältet "col". Om jag förstod frågan rätt...
S SannyW Medlem sedan jan. 2003 438 inlägg Har testat det Jojoxx skrev, men får inte rätt på det. Måste vara jag som missförstår något.
Det som händer är att den skickar två värde ändå.
Testa med jojoxx:
Element 1 fungerar men inte element 2.
Element2
<input type="radio" name="insats" value="annat"> <input type="tal" name="insatsannat">
POST: insats=annat&insatsannat=5 *typblandning*
Testar utifrån min första kod:
Skickar med ifyllt element 1.
insats= 5 &insats= *Problemet* - typblandning
Skickar med element 2.
insats= & insats = 5 *inga problem*
Formuläret uppdateras med en annan fil,
RecSet.Addnew
RecSet("insats") = Request.Form("insats")
Kan vara detta som strular till det, behöver hjälp med en liten förklaring. Vad gör jag för fel?
J Jojoxx Medlem sedan juni 2000 4 308 inlägg Jag tror vi flyttar över tråden till ASP-forumet och fortsätter där.
För det första är type="tal" inte giltig html, type="text" skall det vara. Eftersom du använder radio-knappar som du inte kan avmarkera efter att du valt en av den skulle jag ge radio-knapparna ett namn och text-fältet ett annat, som i mitt första exempel. Sedan plockar du ut värdet med ASP så här;
if request.form("col2") = "annat" then
n=request.form("colannat")
else
n=request.form("col2")
end if
Värdet du vill ha fram finns i variabeln n .
B bobban Medlem sedan sep. 2003 10 inlägg Annars kan du använda dig av javascript som "disablar" & markerar ut dina radiobuttons om man har < 0 tecken. Och om det inte finns något tecken i text boxen visar den alla fält.
B bobban Medlem sedan sep. 2003 10 inlägg Eller så kom jag på en ASP kod som kan kolla upp det
<input type="radio" name="col2" value="<%=pro05%>">0,5 % - <%=pro05%></input>
<input type="radio" name="col2" value="<%=pro1%>">1,0 % - <%=pro1%></input>
<input type="radio" name="annat" value="ON">Annat</input>
<input type="text" name="annat_text">
===================================
Och när du kollar upp fälten i din ASP kod så har du en liten check:
<%
If Request("annat") = "ON" AND Request("annat_text") <> "" then
'din kod med "annat" fältet
else
'din kod med radiobuttons fältet
end if
%>