// 我定义一个全局变量s,为什么提示“Uncaught TypeError: Cannot read property 'value' of null” var s = document.getElementById("count"); // var val = s.value; function startCount(){ s.value = num; num=num+1; i=setTimeout("startCount()",1000); }
你把js放到form标签后面去,这应该还是html文档的加载顺序问题,你这里虽然定义的是全局变量,但是定义的时候,count还不存在,所以s并没有得到value值。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> </head> </head> <body> <form> <input type="text" id="count" /> <input type="button" value="Start" onClick="startCount()"/> <input type="button" value="Stop" onClick="stopCount()"/> </form> <script type="text/javascript"> var num=0; var i; var s=document.getElementById('count'); function startCount(){ //document.getElementById('count').value=num; s.value=num; num=num+1; i=setTimeout("startCount()",1000); } function stopCount(){ clearTimeout(i); } </script> </body> </html>
不应该s.value
应该s.innerHTML