问答详情
源自:8-3 计时器setInterval()

代码没错啊,验证也没问题啊,为甚么输入框内不显示时间呢?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>定时器</title>

<script type="text/javascript">

  var attime;

  function clock(){

    var time=new Date(); 

    var hour=getHours()

    attime=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds() ;

    document.getElementById("clock").value = attime;

  }

  setInterval(clock,1000)

</script>

</head>

<body>

<form>

<input type="text" id="clock" size="20"  />

</form>

</body>

</html>


提问者:代号唯 2016-08-25 15:45

个回答

  • Levo
    2016-09-06 16:27:38

    getHours()这个方法是存在Date()这个对象里面,你实例化了Date()这个对象,但是getHours()并不是全局方法,所以你要从time这里用来获取,所以解决方案如下:

    (1):var hour=getHours()修改为:var hour=time.getHours(); 

    (2):直接删除这一行代码


  • qq_咸敏_03837113
    2016-08-26 11:14:18

    var hour=getHours() 首先这个声明就有问题,如果要声明这个应该是 var hour=time.getHours();  但是这里其实并不需要另外声明time的hours。所以你直接去掉就可以正常显示了!

  • 西西西西瓜
    2016-08-25 16:20:31

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>定时器</title>

    <script type="text/javascript">

      var attime;

      function clock(){

        var time=new Date(); 

        var hour=time.getHours();

        attime=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds() ;

        document.getElementById("clock").value = attime;

      }

      setInterval(clock,1000);

    </script>

    </head>

    <body onload="clock()">

    <form>

    <input type="text" id="clock" size="20"  />

    </form>

    </body>

    </html>