在HTML文本框中刷新Javascript时间; getElementByID错误

时间:2018-03-15 23:16:06

标签: javascript date getelementbyid

我试图让时间在HTML页面的每一秒显示,在文本框中,但我只是得到getElementByID不存在的错误消息。我的代码如下。下面的代码没有显示任何内容。你能纠正我,还是指出我错过了什么?

function getTime() {
     var currentDate = new Date();
     var date = currentDate.toLocaleString();
     document.getElementById("clock").innerHTML = date;
}

var repeatedTime = setInterval("getTime()", 1000);
getTime();

这是我的HTML代码:

<!DOCTYPE html>
<html>
<head>
     <script src="clockjavascript.js" ></script>
</head>
<body>
    <form>
        <input id="clock" type="text" />
    </form>
</body>
</html>

感谢Daniel Szabo,因为他解决了这个问题。下面是使用HTML的正确javascript。我需要将document.getElementById(&#34; clock&#34;)。innerHTML更改为.value。

function getTime() {
    var dateObject = new Date();
    var dateString = dateObject.toLocaleString();
    document.getElementById("clock").value = dateString;
}

var repeatedTime = setInterval(getTime, 1000);
getTime();

2 个答案:

答案 0 :(得分:2)

四个问题

  • 使用getElementById代替getElementByID(“d”需要小写“)
  • 使用document.getElementById("clock").value代替innerHTML来操纵文本框的内容
  • 尝试setInterval(getTime, 1000);代替setInterval("getTime()", 1000);
  • <script src="clockjavascript.js"></script>标记移至页面底部,就在</body>标记之前。这样,正在执行的<input>元素将被呈现,并且可以在脚本执行时对其执行操作。

要进行快速测试,您可以将其粘贴到浏览器控制台中并观察时间。

function getTime() {
   var currentDate = new Date();
   var date = currentDate.toLocaleString();
   console.log(date);
}

var repeatedTime = setInterval(getTime, 1000);
getTime();

答案 1 :(得分:1)

你的语法略有偏差 - 它是

getElementById 

而不是

getElementByID

后者不作为一种方法存在。