gelöst Subtraktion in Javascript für ausfüllbares PDF

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

24.09.2020, aktualisiert 08:30 Uhr, 551 Aufrufe, 15 Kommentare

Hallo liebe User,

ich habe ein Adobe PDF-Dokument in ein ausfüllbares PDF-Dokument umgewandelt.
Grds. funktioniert alles sehr gut. Auch wenn ich z.B. 2 Felder addieren möchte. Das geht über die Eigenschaften des Feldes, indem man einfach die beiden zu addierenden Felder auswählt.

Nun muss ich jedoch von einem Feld, welches bereits ein Ergebnis enthält, die Inhalte von 2 weiteren Feldern subtrahieren.
Dazu ist jedoch die entsprechende Berechnung mit Javascript nötig.

Eben habe ich mir das mal hier angeschaut:
Rechenoperationen Javascript

Damit komme ich jedoch nicht klar, da ich mit Javascript noch nicht gearbeitet habe.

Hier hänge ich mal einen Screenshot mit den Eigenschaften des Textfeldes an, in dem das Ergebnis der Subtraktion erscheinen soll.

textfeld - eigenschaften - Klicke auf das Bild, um es zu vergrößern

Und hier seht Ihr die Kästchen, wie sie jetzt im Bearbeitungsmodus von Adobe zu sehen sind. Hier sieht man auch die Feldbezeichnungen:

auswahl - Klicke auf das Bild, um es zu vergrößern

Vom Inhalt im Kästchen "Gesamt" soll der Inhalt der beiden Kästchen "undefined_3" und "undefined_3a" abgezogen und dann im Kästchen "undefined_3b" erscheinen.

Vielleicht kann mir ja jemand von Euch weiterhelfen... ist wahrscheinlich nur ein kurzer Code.

Danke und schöne Grüße,
imebro
Mitglied: 145916
24.09.2020, aktualisiert um 09:08 Uhr
Dafür muss man kein Javascript beherrschen, nur von Grundrechenarten aus der Grundschule sollte man dann doch irgendwann mal gehört haben

screenshot - Klicke auf das Bild, um es zu vergrößern

Hätte man das gelesen wäre der Fred auch überflüssig gewesen und man hätte die Zeit sinnvoller nutzen können .
How to do (not so simple) form calculations

Btw. das Benennen der Felder mit sinnvolleren Namen sollte dir auch im Nachhinein beim Interpretieren helfen wenn du mal wieder da ran musst.

Gruß eagle
Bitte warten ..
Mitglied: imebro
24.09.2020, aktualisiert um 09:15 Uhr
Danke für die besonders freundliche Belehrung.
Sorry, aber ich finde sowas immer ätzend, wenn man zwar hilft, aber dann solche überflüssigen Kommentare abgibt.

OK... das musste mal (wieder) gesagt werden!

Danke für die Lösung.
Ich habe aber auch selbst soeben eine Lösung gefunden und wollte diese gerade posten.
Sie ist jedoch anders, als die von Dir vorgegebene... nur dass meine funktioniert und Deine nicht:

event.value=this.getField("undefined_2a").value-this.getField("undefined_3").value-this.getField("undefined_3a").value;

Schöne Grüße,
imebro
Bitte warten ..
Mitglied: 145916
24.09.2020, aktualisiert um 09:25 Uhr
Zitat von imebro:
OK... das musste mal (wieder) gesagt werden!
Wenn man voher halt nicht erst mal vernünftig recherchiert muss man mit sowas rechnen.
Sie ist jedoch anders, als die von Dir vorgegebene... nur dass meine funktioniert und Deine nicht:
Doch geht selbstredend einwandfrei wurde natürlich getestet und kannst du oben im Link auch selbst nachlesen, also verzäll kein Müll! Wenn du deine Felder nicht vernünftig benennst, selbst schuld .

Na dann noch Haken dran und fertsch.

Gruß eagle
Bitte warten ..
Mitglied: imebro
24.09.2020 um 09:38 Uhr
@eaglefinder:

Ich würde Dich doch um etwas weniger Aggressivität bitten in Deinen Äußerungen. Ein bisschen Anstand darf in einem Forum schon sein

Auch ich habe es mit Deinem Code im Original Formular getestet und es funktioniert definitiv nicht.
Mit dem von mir einkopierten Code jedoch funktioniert es.

Und was das Ganze mit der Feldbenennung zu tun haben soll, erschließt sich mir jetzt auch nicht wirklich...

Danke jedoch für Deine Nachricht.

LG
imebro
Bitte warten ..
Mitglied: eisbein
24.09.2020 um 10:11 Uhr
Hallo,

Ich würde deine Formel noch duch ein parseFloat ergänzen:
Somit wird aus deinen Eingaben eine "Dezimalzahl" gemacht - quasi eine Gültigkeitsprüfung
Beispiel: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parsefloat

Es gibt auch parseInt - wenn es nur Ganzzahlen sein dürfen.
Beispiel: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parseint

Gruß
eisbein
Bitte warten ..
Mitglied: 145916
24.09.2020, aktualisiert um 10:16 Uhr
Zitat von imebro:
Auch ich habe es mit Deinem Code im Original Formular getestet und es funktioniert definitiv nicht.
Doch das geht definitiv wenn du die Felder natürlich vorher auf das Zahlenformat und nicht auf String stellst! Für eine Umwandlung von Strings siehe natürlich eisbein's Ergänzung, ist aber nicht nötig wenn man die Feldformate schon vorher richtig einstellt.

Falls du es immer noch nicht glaubst => Video-Beweis: https://we.tl/t-ztE4YRNxBL
Bitte warten ..
Mitglied: imebro
25.09.2020 um 09:20 Uhr
Danke an Euch nochmal für die weiteren Tipps.

Alle benannten Felder standen bereits auf Zahlenformat. Deshalb verstehe ich auch nicht, warum der ursprüngliche Code von @eaglefinder nicht funktionierte, obwohl es ja offenbar bei ihm so funktioniert hat.

Naja... jetzt funktioniert es ja mit dem von mir einkopierten Code.
Da ich in den Eigenschaften der Felder bereits Dezimalzahlen, bzw. ganze Zahlen ausgewählt hatte, wäre die Erweiterung des Codes jetzt auch überflüssig. Dennoch ein guter Tipp für die Zukunft

Danke und schöne Grüße,
imebro
Bitte warten ..
Mitglied: imebro
25.09.2020, aktualisiert um 10:00 Uhr
Gerade kommt mir noch eine weitere Idee:

Ich gebe in diesem ausfüllbaren PDF Urlaub ein. Also z.B. vom 28.09.2020 - 02.10.2020.
Dann muss ich aber im Feld daneben die Länge in Tagen eingeben... also 5

Gibt es auch eine Möglichkeit, die Länge in Tagen automatisch aus der Zeitspanne berechnen zu lassen?
Das würde es (fast) perfekt machen

Ich habe zwar schon das hier gefunden - weiß aber nicht, wie ich das in mein Projekt umsetzen soll:
Differenz zwischen zwei Zeitangaben

Ebenso findet sich hier auch eine Lösung, aber... was muss ich in meinem Feld "Tage Urlaub" nun als Code eintragen?
Differenz zwischen zwei Daten

LG
imebro
Bitte warten ..
Mitglied: eisbein
25.09.2020 um 10:25 Uhr
Da ich in den Eigenschaften der Felder bereits Dezimalzahlen, bzw. ganze Zahlen ausgewählt hatte, wäre die Erweiterung des Codes jetzt auch überflüssig.

Jein!

Es ist im immer besser "Usereingaben" im Code noch einmal zu verifizieren
Bitte warten ..
Mitglied: 145916
LÖSUNG 25.09.2020 um 10:52 Uhr
Kommentare mit Code erspar ich mir diesmal
https://we.tl/t-iuouRWq2ZQ
Fertsch
Bitte warten ..
Mitglied: imebro
25.09.2020 um 10:53 Uhr
Ok und danke...

Dann ergänze ich den Code jetzt entsprechend.

Hast Du vielleicht auch ne Idee, wie ich die Differenz zweier Datums-Angaben in Tagen berechne?
Ich habe zwar nun schon ein paar Lösungen gefunden (s.a. meine Links), aber ich weiß nicht, wie ich diese in meinem Formular umsetzen soll.

Z.B. den Urlaub vom 28.09.20 bis 02.10.20.
Die Felder sind "Urlaub_von" und "Urlaub_bis".
Das Feld, wo das Ergebnis in Tagen hin soll (also die Zahl 5) heißt "TageRow1".

Schöne Grüße,
imebro
Bitte warten ..
Mitglied: imebro
25.09.2020, aktualisiert um 10:56 Uhr
...

@eaglefinder war schneller.

Danke, werde mir die Datei gleich mal anschauen und bin gespannt

LG
imebro
Bitte warten ..
Mitglied: 145916
25.09.2020, aktualisiert um 11:27 Uhr
Gerade kommt mir noch eine weitere Idee:
Ach ja da kommt mir auch noch eine Idee, kannst du meine Einkäufe heute noch erledigen, hab leider kein Akku mehr ... 🐟?
Bitte warten ..
Mitglied: imebro
25.09.2020 um 11:37 Uhr
...kannst es ja nicht lassen

Aber Dein Code funktioniert sehr gut mit der Berechnung der Tage aus den angegebenen Daten.
Danke dafür...

LG
imebro
Bitte warten ..
Mitglied: 145916
25.09.2020 um 11:43 Uhr
...kannst es ja nicht lassen
Du ja auch nicht .
Bitte warten ..
Heiß diskutierte Inhalte
Router & Routing
Wireguard VPN (oder andere alternative) - Kompletter Traffic routen
gelöst KodaCHFrageRouter & Routing15 Kommentare

Guten Morgen Ich habe bisher mit OpenVPN und mit Wireguard VPN einige Tests gemacht. OpenVPN (Kostenlose Version): Hier habe ...

Server-Hardware
Konfiguration und Stromverbrauch ML350 Gen10
kosta88FrageServer-Hardware13 Kommentare

Hallo, ich versuche mal zu berechnen was ein ML350 verbrauchen würde. Ich weiß dass es von der Konfiguration und ...

Server
Kein Zugriff auf NAS bei DS Lite
martingerdesFrageServer11 Kommentare

Hallo liebe Gemeinde, dieses Thema kennen wahrscheinlich viele und ich selbst habe schon viele Forenbeiträge zu diesem Thema gelesen. ...

Windows Server
Hyper-V Server vs Datacenter?
holliknolliFrageWindows Server10 Kommentare

Hallo, hat jemand Erfahrung mit dem - kostenlosen - Hyper-V-Server? Ich meine, warum teure Lizenzen für Datacenter zahlen, wenn ...

Grafikkarten & Monitore
Grafikkarte kaputt? Hier muss noch etwas hin, weil der andere Titel schon vergeben ist :)
Sir.classicFrageGrafikkarten & Monitore9 Kommentare

Hallo an alle, ich habe einen selbst gebauten PC und mein Problem ist, dass meine Monitore regelmäßig (alle 3h) ...

LAN, WAN, Wireless
Spanning Tree Probleme
predator66FrageLAN, WAN, Wireless9 Kommentare

Hallo, wir haben hier eigenartige Spanningtree Probleme, die wir zur Zeit nicht gelöst bekommen: New Root Port MAC ist ...

Ähnliche Inhalte
JavaScript
JavaScript hochladen
gelöst Patrick-ITFrageJavaScript12 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer Seite, wo ich meine JavaScript Datei hochladen kann und die ...

JavaScript
Javascript: WebSql
gelöst internet2107FrageJavaScript17 Kommentare

Guten Morgen zusammen, zunächst einmal einen schönen dritten Advent. Ich habe ein Problem mit Javascript und WebSQL. Bisher habe ...

JavaScript
Javascript Array
gelöst internet2107FrageJavaScript2 Kommentare

Ich habe folgendes Problem. Ersetze ich die folgenden Zahlen gegen Variablenwerte, bekomme ich nicht das Ergebnis, wie mit festen ...

JavaScript
Javascript SavaAs
achim13FrageJavaScript1 Kommentar

Hallo, ich muss eine PDF Datei in bestimmten Ordner auf dem Server speichern. Kann ich es mit JavaScript z.B. ...

JavaScript

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

imebroFrageJavaScript8 Kommentare

Hallo an Alle, Ich habe ein Formular in Adobe Acobat XI Pro erstellt. Dieses ist als PDF-Formular ausfüllbar. Unter ...

JavaScript

Javascript Button klicken

gelöst shc4everFrageJavaScript5 Kommentare

Hallo zusammen, seit 2 Tagen versuche ich es hinzukriegen, dass der ein Tab automatisch beim Laden geöffnet wird. Ich ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT