问答详情
源自:7-23 编程练习

这里input标签怎么获取不了静态时分秒

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="UTF-8">

<script>

var date = new Date();

var hh=date.getHours();

if(hh<10) hh='0'+hh;

var mm=date.getMinutes();

if(mm<10) mm='0'+mm;

var yy=date.getSeconds();

if(yy<10) yy='0'+yy;

var time=hh+":"+mm+":"+yy;

document.getElementById("input").value=time;

</script>

</head>

<body>

<input type="text" id="input" />

</body>

</html>


提问者:qq_學吥會啲堅強_0 2016-09-08 10:12

个回答

  • beblueblue
    2016-09-08 12:26:48

    你这个代码有几处错误:

    1、你的if语句后面缺了{};

    2、getHours/Minutes/Seconds返回值是数值,不能和"0"/":"这类的字符串直接相加。

    建议你重新写过这段代码,至于你希望输出“11:02:03”这样的时间格式,我不知道~

    哈哈哈哈,加油~

  • 桉_an
    2016-09-08 11:19:25

    很有可能是js文件中调用了html中的某个节点,并且js在这个调用的对象之前加载了。

    如果js放在头部时,此时浏览器渲染未进入dom节点,因为提示为空,或者找不到。

    所以把js代码放到最后或调用的对象后面就行了。


  • jch_123
    2016-09-08 11:14:55

    文档加载问题;文档加载是按顺序的,于是加载到document.getElementById("input").value=time;这句时,<input type="text" id="input" />这句还没加载出来,又怎么可以让document.getElementById("input").value=time;调用呢?如果要实现,就将<script>……</script>这段放在<input>后面即可。