通过 document.getElementById("radio1").click() 返回值
2013-11-19
388
我遇到了这种情况
<input type="radio" id="radio1" onclick="clickRadio1()" />Click Radio1
<input type="radio" id="radio2" onclick="clickRadio2()" />Click Radio2 to activate Radio1 click
<script type="text/javascript">
<!--
function clickRadio1(){
return false;
}
function clickRadio2(){
if(document.getElementById("radio1").click===false){
alert("False");
}else{
alert("True");
}
}
// -->
</script>
当我点击“radio2”时,为什么我总是得到“True”的提示。有人能解释一下为什么吗?非常感谢。
3个回答
因为事件名称是
onclick
而不是
click
。
另外,通过将代码放在页面的 loaded 事件中,确保您的 JavaScript 脚本在页面完全加载后运行。
Ibrahim Najjar
2013-11-19
尝试使用,
document.getElementById("radio1").checked;
function clickRadio2(){
if(document.getElementById("radio1").checked===false){
alert("False");
}else{
alert("True");
}
}
Krish R
2013-11-19
这是有效的(将 jsFiddle 的警报更改为 div 结果)
http://jsfiddle.net/zv49k/
您需要将单选按钮的 .click 属性更改为 .checked。
<input type="radio" id="radio1" onclick="clickRadio1()" />Click Radio1
<input type="radio" id="radio2" onclick="clickRadio2()" />Click Radio2
<div id="resultdiv"></div>
<script>
function clickRadio1() {
return false;
}
function clickRadio2() {
if (!document.getElementById("radio1").checked) {
document.getElementById("resultdiv").innerHTML = "False";
}
else {
document.getElementById("resultdiv").innerHTML = "True";
}
}
</script>
Howard Renollet
2013-11-19