-1

可能是一个非常简单的错误,因为我对 JavaScript 很陌生:

<head>
<title>
Test
</title>
<script type="text/javascript">
window.onload = function() {
if document.getElementById('one').checked = function() {
document.getElementsById("TestDiv").innerHTML = "one";}
}
</script>
</head>
<body>
<input type="radio" name="one" id="one" value="one" />
<div id="TestDiv">Test</div>
</body>

提前致谢!:D

4

4 回答 4

4

使用括号并且不要在 if 语句中包含函数:

window.onload = function() {
    if (document.getElementById('one').checked) {
        document.getElementById("TestDiv").innerHTML = "one";
    }
};

getElementById第二次拼错了方法。有一个额外的s字符。

如果您希望在选择单选按钮时发生此事件,请使用:

window.onload = function() {
    document.getElementById('one').onclick = function () {
        // if (this.checked) {
        document.getElementById("TestDiv").innerHTML = "one";
        // }
    };
};

演示:http: //jsfiddle.net/PbST6/

于 2013-05-10T17:21:47.630 回答
2

如果您尝试为带有 的元素设置事件处理程序,id="one"则应使用以下代码:

window.onload = function() {
    document.getElementById('one').onclick = function() {
        document.getElementById("TestDiv").innerHTML = "one";
    }
}

如果您只是在checked加载窗口时测试元素的状态(就像您似乎正在尝试做的那样),它不会响应用户事件。

于 2013-05-10T17:24:41.610 回答
1

您的 if 语句格式错误...

if (document.getElementById('one').checked) {
    document.getElementById("TestDiv").innerHTML = "one";
}
于 2013-05-10T17:21:21.910 回答
0

应该是这样的

window.onload = function() {
  if(document.getElementById('one').checked) {
    document.getElementsById("TestDiv").innerHTML = "one";
  }
}

"if" 的条件部分必须在 () 中。在这种情况下,条件是“document.getElementById('one').checked” 那么如果条件为真,你想要发生的事情是在{}中,而不是在单独的函数中

于 2013-05-10T17:23:49.483 回答