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提前为您提供帮助。
答案 0 :(得分: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 :(得分: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检查每个具有name属性的元素!
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);
}
}
答案 2 :(得分: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);
}
答案 3 :(得分:0)