TypeError: Date is not a constructor

前端 未结 4 880
逝去的感伤
逝去的感伤 2021-01-17 16:05

So, I\'ve been making forms for my company for some time now with pretty easy Javascript that has worked for me in the past. However all of a sudden it\'s kicking out the er

相关标签:
4条回答
  • I was having this problem and I solved it! don't use "Date" as variable because this causes conflict with Global function Date();

    Exemple: Wrong !

    var Date = new Date();
         document.getElementById('dateCopy').innerHTML = Date.getFullYear();
    

    Right:

    var DateTime = new Date();
          document.getElementById('dateCopy').innerHTML = DateTime.getFullYear();
    

    In your case:

    var DateTime = this.getField("Text1");
    DateTime.value = util.printd("mm/dd/yyyy",new Date());
    
    0 讨论(0)
  • 2021-01-17 16:39

    You can't define a variable called "Date" because there's a built-in object in JS called that (you're using it in your code, actually). Change the name to something else.

    var Date= somthing; <-- wrong declare, you should not use build -in object name

    0 讨论(0)
  • 2021-01-17 16:42

    This worked for me:

      var d = new window.Date();
    
    0 讨论(0)
  • The variable Date is hiding the global function Date and causing this error. Because of how scoping works in JS, the inner-most use of a name is the one that matters.

    In this case, you declare var Date which becomes the only Date the function knows about. When you assign it a field or text (Date = this.getField...), you hide the global class.

    You can rename your variable (I would suggest date, as capital names are typically reserved for types) or explicitly reference new window.Date when you go to construct a new date.

    0 讨论(0)
提交回复
热议问题