TypeError: Date ist kein Konstruktor
So, ich habe Formulare für meine Firma seit einiger Zeit mit ziemlich einfachen Javascript, das hat bei mir geklappt in der Vergangenheit. Doch plötzlich ist es das Heraustreten der Fehler: TypeError: Date is not a constructor
Code:
var Date = this.getField("Text1");
Date.value = util.printd("mm/dd/yyyy",new Date());
Funktioniert es auf meinem alten Formen, aber jetzt funktioniert es nicht auf neue... und ich habe versucht, einen neuen button auf eine alte form - einfach kopieren und einfügen den code, und dann werde es brechen alle anderen Tasten und spuckte den selben Fehler.
Ausgeführt wird: Windows 7 64-bit mit Acrobat XI 11.0.10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die variable
Date
versteckt sich die Globale FunktionDate
und verursacht diesen Fehler. Weil, wie scoping funktioniert in JS, die inner-die meisten verwenden einen Namen, ist derjenige, der zählt.In diesem Fall erklären Sie
var Date
was wird das nurDate
die Funktion kennt. Wenn Sie ordnen Sie ein Feld oder text (Date = this.getField...
), verstecken Sie die Globale Klasse.Können Sie benennen Sie die variable (ich würde vorschlagen
date
als Kapital-Namen sind in der Regel reserviert für die Typen) oder expliziter Verweis aufnew window.Date
wenn Sie gehen, um zu konstruieren ein neues Datum.Dieser arbeitete für mich:
Können Sie nicht definieren eine variable mit dem Namen "Date", weil es eine built-in-Objekt in JS genannt, die (Sie verwenden Sie in Ihrem code, eigentlich). Ändern Sie den Namen auf etwas anderes.
var Datum= etwas; <-- falsch erklären, sollten Sie nicht verwenden build-in Objekt name
Ich hatte dieses problem und habe es gelöst! verwenden Sie nicht "Datum" als variable, da dies bewirkt, dass der Konflikt mit der Globalen Funktion Date();
Beispiel: Falsch !
Rechts:
In Ihrem Fall: