Men, det fina med radioknappar är ju att man bara kan välja en när man har flera med samma namn!
Du har inte funderat på checkboxar?
------------------
- J-O-H-N-S-E-N -
9 svar · 190 visningar · startad av qwerty
Snälla hjälp mig ty snart går jag i taket och sliter mitt hår. Jag är ute efter ett javascript som gör att jag kan fylla i två radiobuttons. Om man bara väljer ett eller mer än två ska man få ett mess om att man måste välja två alternativ.
Jag har tittat både här och här men inte lyckats anpassa det till mitt formulär. Kanske kan någon hjälpa mig med utgångspunkt från mitt formulär nedan...
<form method="post" action="poll_stats.asp?id=<%=intPoll_ID%>">
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td colspan="2"><%=strQuestion%></td>
</tr>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<%
For i = 0 To intAnswers-1
%>
<tr>
<td width="46" align="center">
<input type="radio" name="vote" value="<%=i+1%>">
</td>
<td width="350"><%=arrAnswer(i)%></td>
</tr>
<%
Next
%>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button" value="Rösta">
<a href="poll_stats.asp?id=<%=intPoll_ID%>">Se aktuell
ställning</a></td>
</tr>
</table>
</form>
Men, det fina med radioknappar är ju att man bara kan välja en när man har flera med samma namn!
Du har inte funderat på checkboxar?
------------------
- J-O-H-N-S-E-N -
Nu är det checkboxar istället men tyvärr kvarstår ju själva problemet.
Man ska ju vara tvungen att välja 2 st.
<form method="post" action="poll_stats.asp?id=<%=intPoll_ID%>">
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td colspan="2"><%=strQuestion%></td>
</tr>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<%
For i = 0 To intAnswers-1
%>
<tr>
<td width="46" align="center">
<input type="checkbox" name="vote" value="<%=i+1%>">
</td>
<td width="350"><%=arrAnswer(i)%></td>
</tr>
<%
Next
%>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button" value="Rösta">
<a href="poll_stats.asp?id=<%=intPoll_ID%>">Se aktuell
ställning</a></td>
</tr>
</table>
</form>
Prova detta:
<html>
<head>
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.foo.vote[w].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>2){alert("Max 2 får bockas!"); return false}
}
//-->
</script>
</head>
<form name="foo" method="post" action="poll_stats.asp?id=<%=intPoll_ID%>" onsubmit="return koll();">
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td colspan="2"><%=strQuestion%></td>
</tr>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<%
For i = 0 To intAnswers-1
%>
<tr>
<td width="46" align="center">
<input type="checkbox" name="vote" value="<%=i+1%>" onclick="rakna(<%=i%> );">
</td>
<td width="350"><%=arrAnswer(i)%></td>
</tr>
<%
Next
%>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button" value="Rösta">
<a href="poll_stats.asp?id=<%=intPoll_ID%>">Se aktuell
ställning</a></td>
</tr>
</table>
</form>
------------------
- J-O-H-N-S-E-N -
eller
function koll(){
if(n!=2){alert("2 måste bockas!"); return false}
}
förlåt, jag vet att jag inte får vara här...
Flera checkboxar med samma namn ("vote") kan ställa till problem. Här är de döpta till vote1, vote2, osv. Då måste givetvis även scriptet som tar emot datat modifieras för att hantera detta;
<script language="JavaScript">
function checkEm(){
var ch=0;
for(n=1;n<=<%=intAnswers%>;n++){
if(eval("document.myForm.vote"+n+".checked")){ ch++; }
}
if(n==2)( return true; } else { alert("2 rutar måste markeras, varken mer eller mindre"); return false; }
}
</script>
<form method="post" name="myForm" action="poll_stats.asp?id=<%=intPoll_ID%>" onSubmit="return checkEm();">
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td colspan="2"><%=strQuestion%></td>
</tr>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<%
For i = 0 To intAnswers-1
%>
<tr>
<td width="46" align="center">
<input type="checkbox" name="vote<%=i+1%>" value="<%=i+1%>">
</td>
<td width="350"><%=arrAnswer(i)%></td>
</tr>
<%
Next
%>
<tr>
<td width="46"> </td>
<td width="350"> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button" value="Rösta">
<a href="poll_stats.asp?id=<%=intPoll_ID%>">Se aktuell
ställning</a></td>
</tr>
</table>
</form>
Inte mer problem än att asp-sidan som tar emot datat måste vara skriven för att hantera flera värden med samma namn. Istället för att använda datat direkt från formuläret måste "1, 2" ses som 1 och 2 istället för en sammanhängande text-sträng. I båda fallen måste denna sida anpassas, så det är väl hugget som stucket vilken variant man använder
Tack, tack.
Jag har en fråga till. Hur ska jag skriva åäö i alert-meddelandet för att de ska visas rätt. Provade html-formaterat men det gick ej.
Du får köra med svenska tecken och hoppas att användaren sitter på en svensk plattform;
alert('Ööööhhh... har den äran...');