Javascript-Code in Adobe Acrobat XI Pro für ein ausfüllbares PDF-Formular

  • Hallo an Alle - ich bin seit heute neu hier im Forum...


    Ich habe ein Formular in Adobe Acobat XI Pro erstellt.

    Dieses ist als PDF-Formular ausfüllbar.


    Unter Anderem enthält das Formular auch ein Listenfeld, welches etwas modifiziert wurde, damit ein Fenster nach unten aufpoppt (ähnlich wie ein Dropdownfeld), wobei man dann aber die Möglichkeit hat, mehrere Inhalte gleichzeitig auszuwählen (mit gedrückter Strg-Taste).


    Grds. funktioniert das auch ganz gut.

    [Die Code-Teile aus dem Formular habe ich unten eingefügt mit Angabe, wo diese im Formular abgelegt sind.]


    Aber ein paar kleine Problemchen gibt´s noch:


    1) Als ersten Eintrag habe ich in den Listenfeld-Eigenschaften unter "Optionen" ein ">"-Zeichen eingesetzt. Wenn der Nutzer jetzt seine gewünschten Auswahlen getroffen hat, wäre es gut, wenn dieses ">"-Zeichen, welches immer als Standardauswahl steht, verschwinden würde, ohne dass man es extra abwählen muss. Wenn man nämlich gleich die Strg-Taste gedrückt hält, bleibt dieses Zeichen natürlich stehen. Könnte sein, dass einige Nutzer des Formulars das so nicht verstehen.


    2) Wenn man einmal eine Auswahl getroffen hat, kann man diese nicht mehr ändern, da das Feld beim erneuten editieren, kein zweites Mal ausklappt.


    3) Die einzelnen Auswahlen (es sind immer 1 od. maximal 2 Buchstaben), stehen am Ende in dem Feld des Formulars nebeneinander mit einem Leerzeichen dazwischen.

    Könnte man hier auch ein Komma einsetzen oder ggf. einen Schrägstrich? Wenn ja, wie/wo mache ich das im Code?


    Ich bin mir nicht sicher, ob ich die Formular-Datei als PDF hier hochladen darf, da diese ja Javascript-Code enthält. Falls ja, dann bitte ich um einen Hinweis... dann würde ich sie mal hochladen.


    Ansonsten hier mal die Code-Teile:


    a) Listenfeld / Eigenschaften / Aktionen:

    Feld aktivieren - Javascript ausführen (1. Zeile):


    Code
    var feld = this.getField("Merkzeichen3.0");
    var r = feld.rect;
    r[3] -= 100;
    feld.textSize = 8;
    feld.rect = r;


    a1) Listenfeld / Eigenschaften / Aktionen:

    Feld aktivieren - Javascript ausführen (2. Zeile):


    Code
    var feld = this.getField("Merkzeichen3.0");
    
    var r = feld.rect;
    r[3] += 100;
    feld.rect = r;
    feld.textSize = 8;
    feld.textFont = font.Helv;
    
    feld.hidden = true;
    this.getField("txt_merged.0").hidden = false;


    b) Textfeld / Eigenschaften / Aktionen:

    Maustaste loslassen

    Feld ausblenden --> Merkzeichen 3.0

    Feld einblenden --> txt_merged.0

    Javascript ausführen:


    Code
         this.getField("Merkzeichen3.0").setFocus();


    c) Textfeld / Eigenschaften / Berechnung

    Benutzerdefiniertes Berechnungsscript:


    Code
    var sel = this.getField("Merkzeichen3.0").value;
    if(Object.prototype.toString.call(sel) === '[object Array]'){
        event.value = sel.join(" ");
    }else{
        event.value = sel;
    }


    Ich hoffe, Ihr versteht den Aufbau auch ohne hochgeladene Datei. Wie gesagt, würde ich sie (falls das hier erlaubt ist) ansonsten einfach hochladen zum besseren Verständnis.


    Danke und Gruß,

    Yank

  • Hallo und guten Morgen,


    kann mir denn wirklich niemand hier aus dem Forum weiterhelfen mit meiner Frage?

    Würde mich doch sehr wundern ;)


    Freue mich über Eure Antworten...


    Gruß

    Yank

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!