2012-11-27 50 views
0

HTML代码: -访问单选按钮值

<input type="radio" name="radio" id="radio" value="1" onclick="validate()"> For Yourself</input> </p></br> 
    <p> 
    <input type="radio" name="radio" id="radio" value="2" onclick="validate()"> For Users</input> 
    </p> 

和JavaScript代码: -

function validate() 
    { 
     var btn_value=document.getElementById("radio").value; 
     if(btn_value==true) 
     { 
      alert(btn_value); 
     } 

    } 

现在,每当我试图打印的单选按钮的值。它总是打印值为1

所以,现在我不明白到底我失去了什么这里...

Thanx提前对您有所帮助。

+3

你只能有一个具有特定ID的元素。 'document.getElementById'通常会以文档顺序得到第一个,尽管这种行为是未定义的。 –

回答

2

元素ID应该是唯一的。我修改你的HTML和JS部分并检查以下

试试这个

HTML

<p> 
    <input type="radio" name="radio" id="radio1" value="1" onclick="validate(this)"> For Yourself</input> </p></br> 
<p> 
    <input type="radio" name="radio" id="radio2" value="2" onclick="validate(this)"> For Users</input> 
</p> 

JAVASCRPIT

function validate(obj) 
    { 
     var btn_value=obj.value; 
     if(btn_value==true) 
     { 
      alert(btn_value); 
     } 

    } 
+1

感谢名单MUTHU库马兰 –

0

试试这个

<input type="radio" name="radio" id="radio" value="1" onclick="validate(this)"> For Yourself</input> </p></br> 
<p> 
<input type="radio" name="radio" id="radio" value="2" onclick="validate(this)"> For Users</input> 
</p>​ 

function validate(ele) 
{ 
    alert(ele.value); 
}​ 
+0

感谢名单Pragnesh肖汉... –

0
  1. ID必须是唯一的,这是一个错误给它相同的ID。
  2. ,您可以给ID的流水号( - 收音机1,第二广播电台等),依次通过它们来检查选择哪一个。
+0

我尝试同样的...但仍然是相同的输出 –

+0

看看@傻傻的回答似乎是你需要什么 – NinaNa

1

首先是从来没有在你的HTML使用DOMID两次! 删除它们....只使用公布的名称!

<input type="radio" name="radio" value="1" onclick="validate()"> For Yourself</input> </p></br> 
<p> 
<input type="radio" name="radio" value="2" onclick="validate()"> For Users</input> 
</p> 

与js检查每个元素的名称属性!

function validate() { 
    var elements = document.getElementsByName("radio"); 
    for(var n = 0; n < elements.length; n++) { 
     if(elements[n].checked === true) { 
      alert(elements[n].value); 
     } 
    } 
} 

,如果你用你的验证方法只在onclick你可以通过一个DOMElement在验证梅索德这样的:

<input type="radio" name="radio" value="1" onclick="validate(this)"> For Yourself</input> </p> 

和您的JS:

function validate(domElement) { 
    if(domElement.checked === true) { 
      alert(elements[n].value); 
     } 
}