Radio 是 HTML 中的单选框,同一个 form 中,name 相同的 Radio 构成一组,这一组中最多只允许有一个 Radio 被选中。
如果将 form 提交到服务器端 ASP 程序,ASP 程序要获得用户选择的那个 Radio 的 value 是非常方便的,用 request.Form("RadioName"),不必理会有几个 Radio。
但在 JS(JavaScript) 中就要复杂多了,我们不能像对其它元素(如:文本框)一样,使用 formid.objName.value 来取值,我们应该循环这个组的 Radio,判断其 checked 属性,再取值。
为了方便使用javascript获取radio的值,我写了一个通用的函数来实现:
function GetRadioValue(RadioName){
var obj;
obj=document.getElementsByName(RadioName);
if(obj!=null){
var i;
for(i=0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
}
return null;
}
比如,我们有一个name属性为:“myradio”的单选控件组,要得到选中的值,只需这样调用就可以了:
var RValue;
RValue=GetRadioValue("myradio");
如果没有给出的radioname控件,则直接返回null,或者这一组控件没有被选择的项,则也返回null。