首页 > 解决方案 > 未捕获的类型错误:在浏览器上运行时无法将属性“值”设置为 null

问题描述

我想在输入文本上显示今天的日期。但是为什么我在浏览器上运行后会收到错误消息?代码有什么问题吗。

HTML

 <!DOCTYPE html >
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Insert title here</title>
 <script  type=text/javascript>


 var today = new Date();
 var dd = today.getDate();
 var mm = today.getMonth()+1; //January is 0!
 var yyyy = today.getFullYear();


 if(dd<10) {
dd = '0'+dd
} 

if(mm<10) {
mm = '0'+mm}

 today= mm + '/' + dd + '/' + yyyy;
 document.getElementById("today1").value=today;
 </script>
<body>

<input id="today1" value="">
</body>
</html>

标签: javascripthtml

解决方案


在 DOM 准备好之前,您的代码正在运行。用DOMContentLoaded包装你的代码。这将确保在所有初始 HTML 完全加载和解析后执行代码。

document.addEventListener("DOMContentLoaded", function(event) {
  // your code here
});

工作代码示例:

<script  type=text/javascript>
  document.addEventListener("DOMContentLoaded", function(event) {

    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();


    if(dd<10) {
    dd = '0'+dd
    } 

    if(mm<10) {
    mm = '0'+mm}

    today= mm + '/' + dd + '/' + yyyy;
    document.getElementById("today1").value=today;
  });
</script>


<input id="today1" value="">


推荐阅读