yan2021
Goto Top

Adobe Acrobat - Antworten im Formularfeld zählen

Hallo,

ich habe ein Adobe-Dokument (PDF), welches mehrere Formularfelder enthält.
In diese Formularfelder soll eingetragen werden

JA
NEIN

Es darf sonst nichts eingetragen werden können, als nur diese beiden Begriffe.

Am Ende sollen alle Formularfelder, die ein JA enthalten zusammengezählt werden und die Summe soll im GESAMT-Feld ausgegeben werden.

Die Felder:
- "Feld1" bis "Feld15" (Eintrag jeweils mit JA od. NEIN)
- "Gesamt" (Gesamtsumme aller Einträge mit JA)

Wie kann ich das umsetzen?
Wäre toll, wenn mir da Jemand helfen könnte.

Grüße von
Yan face-wink

Content-ID: 43917427314

Url: https://administrator.de/contentid/43917427314

Ausgedruckt am: 24.11.2024 um 02:11 Uhr

kpunkt
kpunkt 29.07.2024 um 14:37:43 Uhr
Goto Top
Yan2021
Yan2021 29.07.2024 um 15:08:28 Uhr
Goto Top
Danke für den Link.
Aber ich kann es in diesem Fall nicht mit Dropdown-Menüs realisieren.

Die Einträge "Ja" od. "Nein" müssen direkt ins Formularfeld geschrieben werden können.

Alternativ ginge es noch über Optionsfelder. Aber auch das wäre eher suboptimal.

Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 15:42:35 Uhr
Goto Top
Zitat von @Yan2021:

Danke für den Link.
Aber ich kann es in diesem Fall nicht mit Dropdown-Menüs realisieren.

Die Einträge "Ja" od. "Nein" müssen direkt ins Formularfeld geschrieben werden können.

Ist doch Jacke wie Hose, die values bekommst du ja bei einem normalen Formularfeld gleich wie bei einem DropDown. So viel zum Thema Interpretationsgabe ... 🙈
var cnt = 0;
for (var i = 1;i <= 15;i++){
    var f = this.getField("Feld"+i);  
    if (f != null){
        if (f.value.toUpperCase() == "JA"){  
           cnt++;
        }
    }
}
event.value = cnt;

screenshot

Und tschüss.
Strods
Yan2021
Yan2021 29.07.2024 aktualisiert um 15:54:11 Uhr
Goto Top
Hallo nochmal,

hmmm... entweder ich habe es falsch eingetragen oder es ist ein Mißverständnis.
Jedenfalls funktioniert es so nicht.

Ich habe den Code in 3 der 15 Formularfelder eingegeben... jeweils bei >> "Eigenschaften / Berechnung / Benutzerdefiniertes Berechnugsscript".

Zunächst nur mit "Feld", wie im Code zu sehen.
Danach testweise auch mit jeweils "Feld1", "Feld2", "Feld3"

Nachdem nichts passierte, habe ich am Ende den Code im Ergebnisfeld "Gesamt" eingetragen (auch dort, wie oben beschrieben).

Es erschienen Nullen in den 3 Formularfeldern, aber nicht das "Ja", was ich eingetragen hatte und unten erschien keine Summe im Gesamt-Feld.

Was hab ich falsch gemacht?
Wo genau muss ich Deinen Code (@Strods) eintragen?

Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 16:00:19 Uhr
Goto Top
Zitat von @Yan2021:
hmmm... entweder ich habe es falsch eingetragen
Jepp definitiv.
Jedenfalls funktioniert es so nicht.
Doch, definitiv!
Ich habe den Code in 3 der 15 Formularfelder eingegeben... jeweils bei >> "Eigenschaften / Berechnung / Benutzerdefiniertes Berechnugsscript".
Falsch das kommt als benutzerdefiniertes Berechnungsskript des Summenfeldes, dann da soll ja der Wert rein und das macht event.value = cnt in der letzten Zeile!

Der Prefix der Felder "Feld" ist natürlich im Skript anzupassen an diesen werden die Nummern angehängt (1-15) ...
Was hab ich falsch gemacht?
Oder welche Infos braucht Ihr noch?
Bevor ich mir jetzt den Mund fusselig Rede ...
https://we.tl/t-2B1PUZTb3N

Tschö mit "ö". 🖖
Yan2021
Yan2021 29.07.2024 um 16:10:16 Uhr
Goto Top
Danke Dir @13910172396 für die Mühe.

Allerdings sind in der PDF-Datei keine Codes drin.
Ich kann also nicht sehen, was wohin soll face-wink

Ich vermute mal, dass der obere Teil des Codes in die jeweiligen Formularfelder kommt >> "Feld1" bis "Feld15".
Und da wird der Code in Zeile 3 dann entspr. angepaßt... z.B. "Feld1"... "Feld2".... etc. in >> "Benutzerdefiniertes Berechnugsscript".
Richtig?

Und die letzte Codezeile

event.value = cnt;

kommt dann in die Ergebniszelle "Gesamt" in >> "Benutzerdefiniertes Berechnugsscript".
Richtig?

Werde es gleich mal so testen.

Grüße von
Yan face-wink
Yan2021
Yan2021 29.07.2024 aktualisiert um 16:15:49 Uhr
Goto Top
...hat auch nicht geklappt.

Mensch, was mache ich falsch?
Im Moment fällt mir nichts mehr ein, was ich noch versuchen könnte.


Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 16:16:42 Uhr
Goto Top
Zitat von @Yan2021:
...hat auch nicht geklappt.
Das oben verlinkte PDF klappt problemlos siehst du ja oben ...
Mensch, was mache ich falsch?
Im Moment fällt mir nichts mehr ein, was ich noch versuchen könnte.
JavaScript lernen und nicht nur Copy n Pasten ;-P.
Yan2021
Yan2021 29.07.2024 aktualisiert um 16:18:57 Uhr
Goto Top
Hahahaha, ja, ich wußte es doch face-smile

Du hast jedenfalls meine Tabelle richtig verstanden.
15 Formularfelder untereinander und ein Summenfeld ganz unten, wo am Ende die Anzahl aller "JA"-Einträge berechnet werden soll.

Aber wenn ich Deine Tabelle aufrufe und in den Bearbeitungsmodus gehe, sehe ich dort nirgendwo einen Code.
Die Inhalte stehen einfach nur so in den Formularfeldern und auch im Summenfeld. Da wird nix berechnet.

Wenn ich ein weiteres "Ja" hinzufüge, steht unten immer noch "7".

Schau mal hier:

feld 7

Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 16:20:13 Uhr
Goto Top
Oh man ey, meine Texte oben genauer lesen ....
Ich schrieb oben
kommt als benutzerdefiniertes Berechnungsskript in das Summenfeld

screenshot
Yan2021
Yan2021 29.07.2024 um 16:19:47 Uhr
Goto Top
Hmmm... merkwürdig.

Offenbar wurde der Code nicht mit übertragen beim Download.
Schau mal mein Foto, das ich eben noch hochgeladen hatte zu meinem letzten Beitrag.

Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 16:25:50 Uhr
Goto Top
Zitat von @Yan2021:
Offenbar wurde der Code nicht mit übertragen beim Download.
Schau mal mein Foto, das ich eben noch hochgeladen hatte zu meinem letzten Beitrag.
Dann hast du wohl ein Schlangenöl installiert welches ihn aus Sicherheitsgründen entfernt oder Das Doc als untrusted definiert ...

Wenn ichs nämlich von dort runterlade ist er da, Hash stimmt 100%ig! Das Problem ist definitiv dein Rechner zu 100%.
Yan2021
Yan2021 29.07.2024 um 16:25:45 Uhr
Goto Top
Ok, ich kann es nicht nachvollziehen, warum der Code nicht mit übertragen wurde.

Aber...
Ich hab´s jetzt hinbekommen.

Danke Dir...

Eine letzte Frage noch:
Was müsste ich am Code anpassen, damit man NUR "Ja" und "Nein" eingeben kann und nicht "Bla" oder sonst was?

Grüße von
Yan face-wink
13910172396
13910172396 29.07.2024 aktualisiert um 16:27:45 Uhr
Goto Top
Einfach DropDowns benutzen genau dafür sind die ja da. Ansonsten ein Validierungsscript in die Felder einsetzen das den Inhalt auf JA oder NEiN prüft.
Yan2021
Yan2021 29.07.2024 um 16:27:38 Uhr
Goto Top
ah ok... gute Idee.
Werde das morgen Früh mal testen.

Danke jedenfalls (mal wieder) für Deine Hilfe.

Schönen Feierabend face-smile

Grüße von
Yan face-wink
13910172396
Lösung 13910172396 29.07.2024 aktualisiert um 17:11:23 Uhr
Goto Top
Falls du bei einfachen Textfeldern bleiben willst und keine DropDowns in Betracht ziehen willst geht dies mittels Validierungsscript in den einzelnen Feldern:

screenshot

und folgendem Inhalt:
event.rc = (event.value.toUpperCase() != "JA" && event.value.toUpperCase() != "NEIN") ? false : true;  
Dann werden nur noch "Ja" oder "Nein" (Groß- oder Kleinschreibung egal) in dem Feld erlaubt.

Validating field contents


Wenn DropDown OK ist dann ist das schnell mit den Optionen des DropDown Feldes erledigt:

screenshot

Rest kann gleich bleiben, nur auf die Bezeichnungen der Felder achten.
Yan2021
Yan2021 30.07.2024 aktualisiert um 10:48:23 Uhr
Goto Top
Hallo Strods,

danke für die super weiteren Tipps face-wink

Ich habe das zunächst mal mit den Dropdown-Feldern probiert.
War kein Problem, das einzurichten, aber im Feld "Gesamt" wird die Summe der ausgewählten "Ja" nicht gezählt.
Ohne Dropdown funktionierte das sehr gut.

Dropdown wäre ideal, da ich dann im Dokument nicht noch beschreiben muss, was man darf und was nicht face-smile

Habe aber auch mal die Variante mit dem Validierungs-Script getestet.
Funktioniert zwar grds. auch. Aber wenn ich ein anderes Wort als "Ja" oder "Nein" eingebe, dann steht dort immer "Nein". Besser wäre es, wenn das Feld dann wieder frei wäre.

Grüße von
Yan face-wink
Yan2021
Yan2021 30.07.2024 aktualisiert um 12:29:31 Uhr
Goto Top
...glaube ich hab´s gefunden.

Dieser Code hier funktioniert... also ohne Dropdownfelder:

event.rc = true;
if (event.value != "" && event.value.toUpperCase() != "JA" && event.value.toUpperCase() != "NEIN")  
{
    app.alert("Der eingegebene Wert muss sein 'ja' oder 'nein'!");  
    event.rc = false;
}

Dabei wird das Feld wieder leer angezeigtt, wenn man den Eintrag gelöscht hat.
Und es wird sogar eine Fehlermeldung ausgegeben, wenn man was Falsches eingibt face-smile

Hab ich übrigens über Deinen Link von oben herausgefunden...

Grüße von
Yan face-wink