webForumDet fria alternativet

Value ur "radiobutton"

3 svar · 358 visningar · startad av tonyh

tonyhMedlem sedan okt. 2002107 inlägg
#1

Hej!
Hur tar man värdet man valt ur ett set av radioknapp utan att behöva loopa sig igenom radiknapparna.
Ty om det är en "optionbox" kan man använda value parametern men detta går tydligen inte för radioknappar!?!

var tmp1 = connectform.list1.value; // listbox = fungerar fint
var tmp3 = connectform.r1.value: // radioknapp = fungerar inte

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

var tmp3 = connectform.r1.value:
skall det inte vara:
var tmp3 = connectform.r1.value;

tonyhMedlem sedan okt. 2002107 inlägg
#3

Hmmm...

Det verkar som om att när man använder radioknappar så hamnar det som en array av radioknappar under javascriptets form-object och inte som ett eget object under form-objektet, vilket betyder att man inte har någon möjlighet att ta reda på vilket index som är checked...
...man blir tvungen att loopa sig igenom det!?!
Då arrayen av radioknappar som har ett attribut checked är "true" har man sin valda knapp.

Jag gör altså:

var rolemnemonic;

for(var i=0; i<connectform.r1.length; i++)
{
if(connectform.r1*.checked) rolemnemonic = connectform.r1*.value;
}

Om någon vet ett bättre sätt att ta fram valt radiknappsvärde så säg (skriv) till...**

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Nej, det är så man får göra. Jag brukar använda en funktion som ser ut så här;

function radioValue(radioObj){
	for(var i=0;i<radioObj.length;i++){ if(radioObj[i].checked){ return radioObj[i].value; } }
	return false;
}

anropas alltså med

foo=radioValue(document.myform.myradioset);

137 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)