Das Ziel ist für ein Acrobat-Formular, um ein Datumsfeld ("MeetingDate") mit dem heutigen Datum zu füllen, wenn der Benutzer es öffnet. Wenn der Benutzer das Formular unverändert speichert und einige Tage später öffnet, sollte das alte Datum noch vorhanden sein und nicht durch das aktuelle Datum ersetzt werden. Wenn der Benutzer das Datum in dem Feld ändert, sollte dieses Datum gespeichert werden und sollte nicht ersetzt werden, wenn das Formular später geöffnet wird.Füllen Sie Acrobat Formular Datumsfeld mit dem heutigen Datum nur, wenn das Feld leer ist
Ich habe ein benutzerdefiniertes Berechnungsskript für ein Datumsfeld („MeetingDate“), die all dies tut, aber mit einem Problem:
if (event.value != "")
then
event.value = util.printd ("m/d/yyyy", new Date())
endif
Das funktioniert gut, außer dass, nachdem das Skript, die heutigen Datum füllt Eingabe im Feld MeetingDate und der Wert wird gespeichert. Das ist sinnvoll, aber ich möchte, dass das Feld automatisch mit dem heutigen Datum ausgefüllt wird, wenn der Benutzer das Formular öffnet. Wenn der Benutzer das Formular morgen (16.07.2010) öffnet, hat es stattdessen den 15.07.2010 im Feld, da dies das Datum ist, an dem ich das Formular gespeichert habe.
Ich denke, die Antwort kann ein Skript als Dokument JavaScript (Advanced | Document Process | Dokument JavaScripts) eingeben, da Document Skripts ausgeführt werden, wenn das Formular geöffnet ist, aber alle meine Versuche verursachen ein Datum vom Benutzer eingegeben überschrieben werden, wenn das Formular Tage später geöffnet wird. Danke für die Hilfe!
über das Skript: event.value bezieht sich auf den Wert eines Ereignisses (hat nichts mit dem Wert zu tun, von dein Feld). Es wird immer feuern, und deine Klausel wird immer wahr sein. Deshalb wird das Feld immer zurückgesetzt. Siehe meine Antwort unten. –