TypeError:Date不是构造函数

Pep*_* Ky 8 javascript acrobat constructor date typeerror

所以,我一直在为我的公司制作表格一段时间以来,过去非常简单的Javascript对我有用.然而,突然之间,它正在推出错误:TypeError: Date is not a constructor

代码:

var Date = this.getField("Text1");
Date.value = util.printd("mm/dd/yyyy",new Date());
Run Code Online (Sandbox Code Playgroud)

它适用于我所有的旧表单,但现在它不适用于新表单...而且我已经尝试在旧表单上创建一个新按钮 - 只需复制并粘贴代码,然后它就会破坏所有其他按钮和吐出相同的错误.

运行:带有Acrobat XI 11.0.10的Windows 7 64位

ssu*_*ube 17

该变量Date隐藏了全局函数Date并导致此错误.由于JS中的作用域如何工作,因此最重要的是使用名称.

在这种情况下,您声明var Date哪个成为唯一Date的函数知道.为其分配字段或文本(Date = this.getField...)时,将隐藏全局类.

您可以重命名变量(我建议date,因为大写名称通常是为类型保留的)或者new window.Date在构建新日期时显式引用.


gar*_*ish 5

这对我有用:

  var d = new window.Date();
Run Code Online (Sandbox Code Playgroud)