<script>
var v;
function rdclick(value)
{
v=value;
}
function showvalue()
{
alert(v);
}
</script>
<form name=form1>
<input type="radio" name="imgposition" value="1" onclick=rdclick(this.value)>
<input type="radio" name="imgposition" value="2" onclick=rdclick(this.value)>
<input type="radio" name="imgposition" value="3" onclick=rdclick(this.value)>
<input type="button" onclick=showvalue()>

解决方案 »

  1.   

    嗯,这是个办法,也想到了。但比较麻烦,
    为什么其他得input类型(如text)可以用 .value得到指,而radio不行呢?
    有其他简单得办法么?
      

  2.   

    因为你的radio的控件命名都相同,程序不知道处理哪一个,所以必须对每个radio控件加上ID后才能区分!<script language="javascript">
    function test()
    {
      for(var i=1;i<=3;i++)
      {
         alert(eval("document.form1.rad_"+i).value);
      }
    }
    </script>
    <form name=form1>
    <input type="radio" id="rad_1" name="imgposition" value="1" onclick="test();">
    <input type="radio" id="rad_2" name="imgposition" value="2">
    <input type="radio" id="rad_3" name="imgposition" value="3">
    <input type="button" name="testone" value="测试一个" onclick="alert(form1.rad_1.value)">
    <input type="button" name="testAll" value="测试所有" onclick="test();">
    </form>
      

  3.   

    这个办法还有一个问题,radio有个默认值,而用户没有选择(点击)radio,而直接点击 button,那么这个办法就得不到值了。
      

  4.   

    re:supertber(不懂) 
    但是我如何才能知道用户选择了哪个radio呢?
      

  5.   

    supertber(不懂) ,非常感谢,问题已经解决。
    不知道还有其他方法么?
      

  6.   

    要判断是否选中:  if(eval("document.form1.rad_"+i).checked == true)
    {
    ......
    }
      

  7.   

    <script language="JavaScript">
    <!--
    function chk(){
    var obj = document.getElementsByName('imgposition');
    for (i=0;i<obj.length;i++){
    if (obj[i].checked){
    alert(obj[i].value);
    return;
    }
    }
    alert('你没选');
    }
    //-->
    </script>
    <form name=form1>
    <input type="radio" name="imgposition" value="1">
    <input type="radio" name="imgposition" value="2">
    <input type="radio" name="imgposition" value="3">
    </form>
    <input type="button" onclick="chk()">