下面这断代码 里面的单选框不管选择哪个城市,通过JS显示出来的值都是一样的呢都为beijing
01 <!-- ------------------------------ -->
02 <!-- 文件范例:11-10.htm -->
03 <!-- 文件说明:插入单选框 -->
04 <!-- ------------------------------ -->
05 <html>
06 <head>
07 <title>插入单选框</title>
<script language="JavaScript">
function aa()
{
    var rightanser=document.getElementById("city").value;
alert(rightanser);
}
</script>
08 </head>
09 <body>
10 <h1>用户调查</h1>
11 <Form action=mailto:[email protected] method=get name=invest>
12 姓名:<input type="text" name="username" size=20><br>
13 网址:<input type="text" name="url" size=20 maxlength=50 value="http://"><br>
14 密码:<input type="password" name="password" size=20 maxlength=8><br>
15 确认密码:<input type="password" name="password_confirm" size=20 maxlength=8><br>
16 请上传你的照片:<input type="File" name="File"><br> 
17 请选择你喜欢的音乐:
18 <input type="checkbox" name="m1" value="rock" checked>摇滚乐
19 <input type="checkbox" name="m2" value="jazz">爵士乐
20 <input type="checkbox" name="m2" value="pop">流行乐<br>
21 请选择你居住的城市:
22 <input type="radio" name="city" value="beijing" checked>北京
23 <input type="radio" name="city" value="shanghai">上海
24 <input type="radio" name="city" value="nanjing">南京
<input type="button"  value="dddd" onclick="aa()">南京
25 </Form>
26 </body>
27 </html> 

解决方案 »

  1.   


    <script language="JavaScript">
    function   aa()   { 
    city = document.getElementsByName("city");
      for   (var   i=0;i <city.length;i++)   { 
    if   (city[i].checked)   { 
    alert(city[i].value) 
    break; 



    </script> 
      

  2.   

    复选筐应该也和单选差不多。 你试试我改的代码
     <!-- ------------------------------ -->
     <!-- 文件范例:11-10.htm -->
     <!-- 文件说明:插入单选框 -->
     <!-- ------------------------------ -->
     <html>
     <head>
     <title>插入单选框</title>
    <script language="JavaScript">
    function   aa()   { 
    var city = document.getElementsByName("city");
      for   (var   i=0;i <city.length;i++)   { 
    if   (city[i].checked)   { 
    alert(city[i].value) ;
    break; 


     var m1 = document.getElementsByName("m1");
      for   (var   i=0;i <city.length;i++)   { 
    if   (m1[i].checked)   { 
    alert(m1[i].value) ;

    }

    </script> </script>
     </head>
     <body>
     <h1>用户调查</h1>
     <Form action=mailto:[email protected] method=get name=invest>
     姓名:<input type="text" name="username" size=20><br>
     网址:<input type="text" name="url" size=20 maxlength=50 value="http://"><br>
     密码:<input type="password" name="password" size=20 maxlength=8><br>
     确认密码:<input type="password" name="password_confirm" size=20 maxlength=8><br>
     请上传你的照片:<input type="File" name="File"><br>  
     请选择你喜欢的音乐:
     <input type="checkbox" name="m1" value="rock" checked>摇滚乐
     <input type="checkbox" name="m1" value="jazz">爵士乐
     <input type="checkbox" name="m1" value="pop">流行乐<br>
     请选择你居住的城市:
     <input type="radio" name="city" value="beijing" checked>北京
     <input type="radio" name="city" value="shanghai">上海
     <input type="radio" name="city" value="nanjing">南京
    <input type="button" value="dddd" onclick="aa()">南京
     </Form>
     </body>
     </html>
      

  3.   

    请测试通过后,尽量使用JQuery!
      

  4.   

    复选框:function aa(){
        var boxes = document.getElementsByName("m1");
        var checkTypeId = [];//存放选择的复选框的值
    for(var i=0;i<boxes.length;i++){
    if(boxes[i].checked){
    checkTypeId[checkTypeId.length] = boxes[i].value;
    }
    }
            //选中的
    for(var c=0;c<checkTypeId.length;c++){
    alert(checkTypeId[c]);
    }}复选框的name要相同:<input type="checkbox" name="m1" value="rock" checked>摇滚乐
     <input type="checkbox" name="m1" value="jazz">爵士乐
     <input type="checkbox" name="m1" value="pop">流行乐<br>
      

  5.   

    你没有id为city的属性,你用var rightanser=document.getElementById("city").value;这个方法当然获取不了值了