WebslaveMedlem sedan maj 2002662 inlägg
Detta har varit uppe många gånger och jag har läst och testat många script men av någon anledning får jag dem inte att funka.
Jag vill kolla om någon radio är markerad och jag vet inte antalet för det ändras hela tiden.
Detta är koden jag har klämt fram (med hjälp av inlägg på wF dvs):
<script language="javascript" type="text/javascript">
function checkVote(){
var n, check = document.vote.voteId;
for(var i=0; i<check.length; i++){
if(check[i].checked){
n=1;
}
if(!n){
alert("Ingen radio!");
return false;
}
else{
return true;
}
}
}
</script>
Vad är fel? Det funkar bara på den första radio-knappen men de andra returnerar en alert oavsett om de är markerade eller inte... hilfe?
JojoxxMedlem sedan juni 20004 306 inlägg
<script language="JavaScript" type="text/javascript">
function checkradio(obj){
for(var n=0;n<obj.foo.length;n++){
if(obj.foo[n].checked){ alert("Finfint"); return true; }
}
alert("Markera 1 radioruta"); return false;
}
</script>
<form action="something.asp" onsubmit="return checkradio(this);">
<input type="radio" name="foo" value="a">
<input type="radio" name="foo" value="b">
<input type="radio" name="foo" value="c">
<input type="submit" value="Just do it!">
</form>
... du kan givetvis plocka bort alerten om du vill.
WebslaveMedlem sedan maj 2002662 inlägg
Tackar tackar... funkar fin fint ;)
WebslaveMedlem sedan maj 2002662 inlägg
Nu har jag en fråga till:
När jag försöker få fram värdet från radion (använder PHP så det blir alltså $_POST['voteId'] ) så blir värdet "on"... inte riktigt det som jag letar efter. jga loopar fram knapparna och de får ett värde från 1 till så många knappar som finns men värdet som jag hämtar från $_POST... blir on. Hilf?
JojoxxMedlem sedan juni 20004 306 inlägg
Skrev lite fel i exemplet, även om det inte märktes :) Värdet läser du av med radioknappen[indexnummer].value, exempel;
if(obj.foo[n].checked){ alert("Värdet är "+obj.foo[n].value); return true; }
dectgapMedlem sedan sep. 20021 542 inlägg
Webslave skrev:
jga loopar fram knapparna och de får ett värde från 1 till så många knappar som finns [...]
Tänk på att värdet inte får börja på en siffra.
Fel:
<input type="radio" value="1" />
<input type="radio" value="2" />
<input type="radio" value="3" />
Rätt:
<input type="radio" value="a1" />
<input type="radio" value="a2" />
<input type="radio" value="a3" />
EDIT:
Fel av mig. Jag tänkte på "name" (eller "id"), som inte får börja på en siffra. Värdet kan ju vara vad som helst.
WebslaveMedlem sedan maj 2002662 inlägg
name är voteId så det ska inte vara några problem... ska testa lite saker och se om det fungerar.
WebslaveMedlem sedan maj 2002662 inlägg
Kommer inte på något... någon annan?
JojoxxMedlem sedan juni 20004 306 inlägg
Du undrar alltså hur du får fram datat med PHP, inte JavaScript?
WebslaveMedlem sedan maj 2002662 inlägg
Om vi säger så här:
Som vanligt med forumlär data hämtas det med $_POST['namn'] men när jag ska hämta värdet från radion blir värdet "on" och det ska det inte vara... det ska vara en siffra. Undrade bara om det är något med js som gör att det blir så eller om jag ska kolla i php forumet.
JojoxxMedlem sedan juni 20004 306 inlägg
Nej, det har inget med JavaScript att göra. Skickar över tråden till PHP-forumet.
WebslaveMedlem sedan maj 2002662 inlägg
Kom på det... fel kodning av mig... bluhähäh
MatteMedlem sedan aug. 20002 970 inlägg
dectgapMedlem sedan sep. 20021 542 inlägg
Nu fick du visst rätt på det, men om man får värdet "on" på en radio-knapp innebär det antingen att man har gett den värdet "on", eller att man inte har gett den något värde alls (default-värde för en radio-knapp är alltså "on").
PHP ändrar inte några värden.
Det enda tillfället jag kan komma på att man kan ha problem med formulärsvärden i PHP är ifall man har en "select multiple", men det är en helt annan femma.
WebslaveMedlem sedan maj 2002662 inlägg
Det var ett "=" jag hade glömt *dumma mig* Men nu har jag lärt mig något nytt i alla fall :D