首页 > 代码库 > 通过JS的事件处理取得radio的值

通过JS的事件处理取得radio的值

转自:http://blog.sina.com.cn/s/blog_50a1e17401017pik.html

提前知识准备:

在一个HTML文档中,每个元素都可以设置ID和NAME属性。

其中ID属性是唯一属性,不可以重复,一个ID值只能对应一个元素;

而NAME属性是可以重复的,一个NAME值可以对应一组元素。
所以,使用document.getElementByIdx_x(ID)时返回的只有一个被选中的HTML元素;
而使用document.getElementsByName(NAME)时返回的是一个由多个HTML元素组成的数组

(哪怕HTML页面中只有一个符合要求的元素,返回的也是数组)。

document.getElementsByName(NAME)多用于在FORM表单中选取一组checkbox或radio

 

方法1:

<html>
 <head>
  <script type ="text/javascript">
  function change()
  {
   var radio =document.getElementsByName("form1");
   //var radio =document.getElementByIdx_x("form1");

   // 用ById就不能取得全部的radio值,而是每次返回都为1
   varradioLength = radio.length;
   for(var i =0;i < radioLength;i++)
   {
    if(radio[i].checked)
    {
     varradioValue = http://www.mamicode.com/radio[i].value;
     alert(radioValue);
    }
   }
  }

  </script>
 </head>
 
 <body>
  <input type ="radio" id = "form1" name = "form1" value = "http://www.mamicode.com/1" onchange ="change();">选择1
  <input type ="radio" id = "form1" name = "form1" value = "http://www.mamicode.com/2" onchange ="change();">选择2
  
 </body>
</html>

 

 

方法2:

<html>
 <head>
  <script type ="text/javascript">
  function change()
  {
   varNew=document.getElementsByName("form1");
   varstrNew;
   for(vari=0;i<New.length;i++)
   {
    if(New.item(i).checked) 

    {
     strNew=New.item(i).getAttribute("value"); 
     alert(strNew );  // item()方法:返回集合中的当前项
     break;
    }
    else
    {
     continue;
    }
   }  
  }
  </script>
 </head>
 
 <body>
  <input type ="radio" id = "form1" name = "form1" value = "http://www.mamicode.com/1" onchange ="change();">选择1
  <input type ="radio" id = "form1" name = "form1" value = "http://www.mamicode.com/2" onchange ="change();">选择2
 </body>
</html>

 

通过JS的事件处理取得radio的值