Suche // Search:

Posts mit dem Label Counter werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Counter werden angezeigt. Alle Posts anzeigen

10.10.2013

Individuelle Masterseiten-Zähler
//
Individual Master Page Counter

Immer wieder fragen Anwender, wie man in einem XFA-Formulare für jede Masterseite einen eigenen Seitenzähler anlegen kann.
Die üblichen Methoden wie xfa.layout.page(this) oder xfa.layout.pageCount() helfen hier nicht weiter.

Die Lösung ist dennoch simpel.
Eine Masterseite hat wie jedes andere Objekt auch eine Indexnummer, beginnend bei 0 für die erste Instanz.
Auf jeder Seite, auf der diese Masterseite erneut auftritt, erhöht sich die Indexnummer um 1.

Platziert man nun ein Feld auf der Masterseite, kann man den Index der Masterseite einfach per Skript im layoutReady-Event fragen.

In FormCalc sieht das dann so aus:
$ = $.parent.index + 1

In JavaScript entsprechend so:
this.rawValue = this.parent.index + 1;


Um nun noch die Gesamtzahl aller Instanzen der Masterseite zu erhalten, zählt man einfach das auftreten der Masterseiten.
Dafür bietet sich die resolveNodes()-Methode an.

In FormCalc:
$ = xfa.resolveNodes(somExpression).length

In JavaScript:
this.rawValue = xfa.resolveNodes(somExpression).length;


Users frequently ask how to create individual page counts for each master page in a XFA form.
The common methods like xfa.layout.page(this) or xfa.layout.pageCount() don't help here.

The solution however is very simple:
As any object a master page has a index number for each occurence, which always begins at 0 for the first instance.
On each page the master page occurs again the index is increased by 1.

If you place a field on your master page you can determine its index easily with a script in the layoutReady Event.

In FormCalc it looks this way:
$ = $.parent.index + 1

In JavaScript that way:
this.rawValue = this.parent.index + 1;


Now you only need to determine how often the master page occurs.
Therefore you can use the resolveNodes() method, as it allows us to count repeatable objects.

In FormCalc:
$ = xfa.resolveNodes(somExpression).length

In JavaScript:
this.rawValue = xfa.resolveNodes(somExpression).length;



Beispiel-Formular
//
Sample form

https://files.acrobat.com/preview/99815d28-441f-47e4-a05b-88e478187157

 

09.11.2009

Zeichen, Wörter und Sätze eines Textfeldes zählen
//
Count characters, words and sentences in a text field.

Manchmal kann es nütlich sein, dem Benutzer mitzuteilen, wieviel er in ein Textfeld eingegeben hat.
Für diesen Fall bietet JavaScript nützliche Funktionen, mit denen man etwa nach Verlassen des Felds oder auch bereits während der Eingabe den Benutzer informieren kann.
Dieses Beispielformular zeigt wie's geht.


To inform the user about how much he has written into a text field is neccessary sometimes.
JavaScript offers some handy functions that for.
So you can inform the user after leaving the text field or even during his input.
This sample form shows how this can be done.


Beispiel/Example:
https://workspaces.acrobat.com/app.html#d=EVGpDq652FertKmMxDUHrA