<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout("startCount()",1000)
}
startCount();
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>
页面加载的时候,页面元素按从上到下的顺序加载,其中JS方法块中的方法也依次执行,因此在执行startCount方法时count文本框并未加载,所以无法显示赋值。解决方法:方法1——把JS标签块放到文本框后面执行;方法2——将startCount()改为window.onload=startCount; 即在页面加载完成后执行该方法。
注意页面的渲染顺序,把<script>...</script>放到代码最后面去