【发布时间】:2012-04-18 15:07:45
【问题描述】:
我有以下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<style type="text/css">
body {background-color:Gray;}
body {text-align:left;}
</style>
<title>My First Project</title>
</head>
<body>
<form>
<table border="1" align="center">
<u><h5>Size</h5></u>
<tr><td><input type="radio" name="size" id="small" />Small</td></tr>
<tr><td><input type="radio" name="size" id="medium" />Medium</td></tr>
<tr><td><input type="radio" name="size" id="large" />Large</td></tr>
</table>
<br />
<script type="text/javascript">
if (document.getElementById('small').checked) {
document.getElementById('total').innerHTML = '$1.00';
}
else {
}
</script>
<div id="total">$0.00</div>
</form>
</body>
</html>
我希望脚本将总量的文本更改为1.00美元而不是0.00美元,而在id small的radiobutton被检查时。但是,当我选择它时没有任何反应。我错过了什么?
【问题讨论】:
-
脚本需要放在总div下面。它在 DOM 的那部分加载之前运行,因此找不到“total”
-
您的脚本在页面加载时和任何用户交互之前运行。您需要将事件(例如单击单选按钮)绑定到您的代码。
-
但是,当单选按钮发生变化时,脚本将不会运行。您需要为此添加一个事件。
标签: javascript forms html radio-button