37414
25.06.2019, aktualisiert um 09:03:53 Uhr
2630
17
0
Jahr automatisch aktualisieren per Javascript
Ich habe in einem ausfüllbaren PDF-Dokument, welches ich mit "Adobe XI Pro" erstellt habe, ein Dropdownfeld, wo eine Jahreszahl ausgewählt werden muss.
Die Jahre gehen zurück bis 1985 und es soll eben immer ein Jahr - einschließlich des gerade aktuellen Jahres - ausgewählt werden können.
Ab dem jeweils 1. Januar müßte dann also automatisch oben zusätzlich die neue, aktuelle Jahreszahl erscheinen.
Ich habe bereits herausgefunden, dass man mit Javascript das jeweils aktuelle Jahr über den folgenden Code erhält:
Man kann in den Eigenschaften des Dropdownfeldes über den Reiter "Aktionen" die Auswahl "Javascript ausführen" wählen und somit JS-Code ausführen lassen oder aber über den Reiter "Berechnung" ein benutzerdefiniertes Berechnungsscript eingeben.
Meine Beispieldatei habe mal unten angehangen.
Falls Ihr Adobe XI Pro nutzt, könnt Ihr Euch die Eigenschaften des Feldes ja mal anschauen und ggf. den Code einfach mal darin austesten. Ich habe leider keine Möglichkeit gefunden, mit der es funktioniert. Ich nehme an, dass man über die Feldeigenschaften ja irgendwie noch angeben muss, wann und wo der obige JS-Code ausgeführt werden soll, damit es am Ende auch funktioniert.
Wäre schön, wenn Ihr mir hier nochmal weiterhelfen könntet.
Danke und schönen Gruß,
imebro
Die Jahre gehen zurück bis 1985 und es soll eben immer ein Jahr - einschließlich des gerade aktuellen Jahres - ausgewählt werden können.
Ab dem jeweils 1. Januar müßte dann also automatisch oben zusätzlich die neue, aktuelle Jahreszahl erscheinen.
Ich habe bereits herausgefunden, dass man mit Javascript das jeweils aktuelle Jahr über den folgenden Code erhält:
(new Date()).getFullYear()
Man kann in den Eigenschaften des Dropdownfeldes über den Reiter "Aktionen" die Auswahl "Javascript ausführen" wählen und somit JS-Code ausführen lassen oder aber über den Reiter "Berechnung" ein benutzerdefiniertes Berechnungsscript eingeben.
Meine Beispieldatei habe mal unten angehangen.
Falls Ihr Adobe XI Pro nutzt, könnt Ihr Euch die Eigenschaften des Feldes ja mal anschauen und ggf. den Code einfach mal darin austesten. Ich habe leider keine Möglichkeit gefunden, mit der es funktioniert. Ich nehme an, dass man über die Feldeigenschaften ja irgendwie noch angeben muss, wann und wo der obige JS-Code ausgeführt werden soll, damit es am Ende auch funktioniert.
Wäre schön, wenn Ihr mir hier nochmal weiterhelfen könntet.
Danke und schönen Gruß,
imebro
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 465688
Url: https://administrator.de/contentid/465688
Ausgedruckt am: 22.11.2024 um 00:11 Uhr
17 Kommentare
Neuester Kommentar
Moin ...
musst du schon sagen was da passieren soll ... da kommt JS hin und ist nur bedingt auf das Feld bezogen ...
Im Dropdown wird das noch matschiger ...
Im Prinzip bekommste die Jahreszahl mit
sofern dein oben angegebener Funktionsaufruf (Datum passt) hab ich nicht probiert und nicht im Kopf ...
VG
musst du schon sagen was da passieren soll ... da kommt JS hin und ist nur bedingt auf das Feld bezogen ...
Im Dropdown wird das noch matschiger ...
Im Prinzip bekommste die Jahreszahl mit
this.getField("Feldname").value=(new Date()).getFullYear();
sofern dein oben angegebener Funktionsaufruf (Datum passt) hab ich nicht probiert und nicht im Kopf ...
VG
Aber leider erscheint beim Aufruf der Datei und Auswahl einer Jahreszahl nicht die 2019.
Kann ja auch nicht funktionieren wenn man sich die API mal ansehen würde, funktionsfähigen Code findest du im fertigen PDF oben.
Tja wenn man noch nicht mal bereit ist den Leuten hier bei der Hitze ab und zu ein wirklich "kleines" Bier zu spendieren, na dann ... du musst ja nicht, es gibt genug Leute die es honorieren.
Wie du in meinen Beiträgen sehen kannst biete ich hier überwiegend jede Menge Code für keinen Cent. Wenn ich aber sehe das von einem User damit offensichtlich kommerziell/geschäftlich genutzte Dokumente damit erstellt werden und dieser hier immer wieder mit sowas auftaucht und das Forum für seine Zwecke missbraucht und selbst nichts dazu beiträgt, landen diese eben auf meiner schwarzen Liste.
Naja beschäftige dich mal hiermit:
Ciao.
Wie du in meinen Beiträgen sehen kannst biete ich hier überwiegend jede Menge Code für keinen Cent. Wenn ich aber sehe das von einem User damit offensichtlich kommerziell/geschäftlich genutzte Dokumente damit erstellt werden und dieser hier immer wieder mit sowas auftaucht und das Forum für seine Zwecke missbraucht und selbst nichts dazu beiträgt, landen diese eben auf meiner schwarzen Liste.
Naja beschäftige dich mal hiermit:
var dd = event.target;
var min = 1985;
var max = (new Date()).getFullYear();
if (dd.getItemAt(0) != max){
dd.clearItems();
for(i = min; i <= max;i++){
dd.insertItemAt(i,i,0);
}
}
Aber funktionieren tut es ja
Aber ineffektiv und fehlerhaft, da wäre die IF Abfrage sinnlos!Was bewirkt diese 1 denn?
Na was wohl, getItemAt kannst du dir selbst ins deutsche übersetzen dann weist du auch wofür der Parameter steht! Wenn nicht lese die Doku zu field > Methods > getItemAt(Index).p.s. Freitag ist erst morgen.