我试图让时间在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();
答案 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
后者不作为一种方法存在。