Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML文本框中的Javascript刷新时间;getElementByID错误_Javascript_Date_Getelementbyid - Fatal编程技术网

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

HTML文本框中的Javascript刷新时间;getElementByID错误,javascript,date,getelementbyid,Javascript,Date,Getelementbyid,我试图让时间在HTML页面的文本框中每秒显示一次,但我只是得到一条错误消息,即getElementByID不存在。我的代码如下。下面的代码不显示任何内容。你能纠正我吗,或者指出我遗漏了什么 function getTime() { var currentDate = new Date(); var date = currentDate.toLocaleString(); document.getElementById("clock").innerHTML = dat

我试图让时间在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>

您的语法有点不正确-它是

getElementById 
而不是

getElementByID

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

您的语法有点不正确-它是

getElementById 
而不是

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

四个问题

  • 使用
    getElementById
    代替getElementById(“d”需要小写)
  • 使用
    document.getElementById(“clock”).value
    而不是
    innerHTML
    来操作文本框的内容
  • 尝试
    setInterval(getTime,1000);
    而不是
    setInterval(“getTime()”,1000);
  • 标记移动到页面底部,就在
    标记之前。这样,当脚本执行时,正在执行操作的
    元素将被呈现并可用
为了进行快速测试,您可以将其粘贴到浏览器控制台中,并观察时间的流逝

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

var repeatedTime = setInterval(getTime, 1000);
getTime();
四个问题

  • 使用
    getElementById
    代替getElementById(“d”需要小写)
  • 使用
    document.getElementById(“clock”).value
    而不是
    innerHTML
    来操作文本框的内容
  • 尝试
    setInterval(getTime,1000)
    而不是
    setInterval(“getTime()”,1000)
  • 标记移动到页面底部,就在
    标记之前。这样,当脚本执行时,被操作的
    元素被呈现并可被操作
为了进行快速测试,您可以将其粘贴到浏览器控制台中,并观察时间的流逝

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

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


更改ID->IdIt的。
d
是小写的。我将其更改为document.getElementByID,但仍然不起作用。请尝试
setInterval(getTime,1000)
而不是
setInterval(“getTime()”,1000)为什么JSON只与JS一起工作?有人能在我能找到的问题中回答这个问题吗?更改ID->IdIt。
d
是小写的。我将其更改为document.getElementByID,但仍然不起作用。请尝试
setInterval(getTime,1000)
而不是
setInterval(“getTime()”,1000)为什么JSON只与JS一起工作?有人能在我能找到的问题中回答这个问题吗?根据上面的评论,d在Id中是小写的。根据上面的评论,d在Id中是小写的。我尝试了这两个更改,网页仍然没有加载时间。您是否收到任何错误或根本没有发生任何事情?“无法将属性'innerHTML'设置为null”是error@Gideon好的,这是很好的进展。这意味着脚本找不到id为“clock”的元素。尝试将脚本标记移动到文档底部,就在标记之前。这样,在javascript引擎尝试查找输入元素之前,输入元素就有机会进行渲染非常感谢。javascript的最终代码在这里。帮助的是document.getElementById(“时钟”)值。我需要值部分而不是innerHTML。函数getTime(){var currentDate=new Date();var Date=currentDate.toLocaleString();document.getElementById(“时钟”).value=Date;}var repeatedTime=setInterval(getTime,1000);getTime();我尝试了这两种更改网页仍然没有加载时间是否有任何错误或什么都没有发生?“无法将属性'innerHTML'设置为null”是error@Gideon好的,这是很好的进展。这意味着脚本找不到id为“clock”的元素。尝试将脚本标记移动到文档底部,就在标记之前。这样,在javascript引擎尝试查找输入元素之前,输入元素就有机会进行渲染非常感谢。javascript的最终代码在这里。帮助的是document.getElementById(“时钟”)值。我需要值部分而不是innerHTML。函数getTime(){var currentDate=new Date();var Date=currentDate.toLocaleString();document.getElementById(“时钟”).value=Date;}var repeatedTime=setInterval(getTime,1000);getTime();