Automatisch ins nächste Feld Hüpfen

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Matti
Beiträge: 4
Registriert: 17.09.2009, 16:57

Automatisch ins nächste Feld Hüpfen

Beitrag von Matti » 17.09.2009, 17:04

Ich habe hier mal ne Frage.

Ich bastel gerade ein Formular, was bisher von Hand ausgefüllt wurde um. Da sich die Bearbeitung nicht geändert hat, sondern ich nur keine Lust habe immer alles von Hand auszufüllen, will ich das mit minimalem Aufwand umwandeln sprich ich habs eingescannt und werde nur Häckchenfelder hinbasteln.

Das Problem sind die Felder mit den Nummern.

Wie kann ich solche generieren wie oben Rechts?

Ich hätte mir jetzt Gedacht:

a) Ich mache viele Zahlenfelder, für jedes Feld eins, blos wie verknüpfe ich die miteinander, sodass der Reader beim Ausfüllen automatisch ins nächste Feld hüpft.

b) Ich habe eine Vorlage im Livecycle, sodass das Ausfüll-Feld so aussieht.

Kann mir da jemand weiterhelfen?

Vielen Dank!

Achja und Hallo hier im Forum, ich bin neu ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Automatisch ins nächste Feld Hüpfen

Beitrag von walde » 17.09.2009, 20:24

Hallo Matti,

 

Es gibt eine Möglichkeit den Focus eines Feldes per JavaScript automatisch auf das nächste Feld zu setzen, sobald dieses voll ist. Voll bedeutet, dass hier die max. Anzahl an Zeichen vorher festgelegt sein muss. Siehe "Feld -> Zeichenzahl im Feld" oder "Feld -> Länge begrenzen Max. Zeichen".

Die JavaScript Objekte, die hierbei benötigt werden heissen "traversal" und "traverse". Bevor diese Objekte aber in der XML Ansicht des Formulars auftauchen muss noch die Tab Reihenfolge im Formular festgelegt werden. Hierzu muss (falls nicht geschehen) das Fenster "Tab-Reihenfolge" über "Fenster -> Tab-Reihenfolge" eingeblendet werden. Die Tab-Reihenfolge muss auf "Benutzerdefiniert" eingestellt sein.

Der Rest geht über JavaScript. Siehe Beispieldatei, welche 2 Varianten von Feldern darstellt.

1. Numerische Felder, welche bei der Auswahl der max. Anzahl an Zeichen in eine Tabelle geteilt werden.

2. Textfelder, welche in eine Tabelle geteilt werden können, oder auch ohne eine Tabell die Anzahl an max. Zeiche zulassen.

Funktion der Beispieldatei:

Es wird auf die jeweilige Stelle im Feld referenziert und die max. Anzahl an Tabellen bzw. die max. Anzahl an Zeichen ausgelesen. Diese wird bei der Eingabe mit der Anzahl der Zeichen im Feld abgeglichen. Bei einer Übereinstimmung wird ein Tab Sprung in das nächste Feld ausgeführt.

Falls jemand mit den Funktionen nicht zurecht kommt, so kann er diese Löschen und dafür die über "/*"  und "*/" (markieren den Bereich, der beim Scripten ignoriert werden soll) markierten Bereich einblenden.



Mit Funktion:

Code: Alles auswählen

Formular1.#subform[0].NumerischesFeld1::change - (JavaScript, client)
/*
var sLength = this.resolveNode("ui.#numericEdit.comb").numberOfCells;
var nLength = xfa.event.fullText.length;
var sTraverse = this.resolveNode("traversal.#traverse").ref;
if(nLength == sLength){
if(sTraverse != null){
xfa.host.setFocus(sTraverse);
}
}
*/

Scripte.AutoFocusNummernFeld(this);
Ohne Funktion:

Code: Alles auswählen

var sLength = this.resolveNode("ui.#numericEdit.comb").numberOfCells;
var nLength = xfa.event.fullText.length;
var sTraverse = this.resolveNode("traversal.#traverse").ref;
if(nLength == sLength){
if(sTraverse != null){
xfa.host.setFocus(sTraverse);
}
}
 

Gruß,

 

Walde


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Matti
Beiträge: 4
Registriert: 17.09.2009, 16:57

Automatisch ins nächste Feld Hüpfen

Beitrag von Matti » 18.09.2009, 09:56

Das ist schonmal cool danke.

Kann ich auch selber ein Eingabefeld basteln, das so aussieht... wie geht das?

Also wie diese Großbuchstaben einfüllen Teile auf Formularen.

Das Teil soll halt nach wie vor von Hand und am PC ausgefüllt werden können

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Automatisch ins nächste Feld Hüpfen

Beitrag von walde » 18.09.2009, 11:14

Hallo Matti,

 

Sie können auch Mehrere Textfelder (jedes Feld enthält nur ein Zeichen) und grafische Balken darunter zeichnen. Per JavaScript lassen Sie dann jede Eingabe in Großbuchstaben wandeln. Siehe Beispieldatei.

 

Gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Matti
Beiträge: 4
Registriert: 17.09.2009, 16:57

Automatisch ins nächste Feld Hüpfen

Beitrag von Matti » 18.09.2009, 12:35

Achso du malst das quasi von Hand drunter...

Das Programm hat unglaubliches Potential das ist echt krass... Ich sitz schon den ganzen Tag dran das ist 1000x besser als Excel

Wie kann ich denn ein Optionsfeld globalisieren.

Ich will quasi eine Art Durchschlag generieren, der bei einer Bestellung hier bleibt. Das klappt bislang auch bei allen Feldern auch den normalen Auswahlfeldern, nur bei Optionsfeldern nicht...?

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Automatisch ins nächste Feld Hüpfen

Beitrag von walde » 18.09.2009, 12:59

Hallo Matti,

 

Das globalisieren von Optionsfeldern geht genau gleich wie bei Textfeldern auch. Worauf man achten sollte ist dass die Elementwerte der "copy" Optionsfelder denen der "original" Optionsfelder gleichen. Desweiteren sollten die Optionsfeldlisten den gleichen Namen haben.

Siehe Beispieldatei.

 

Gruß,

 

Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Matti
Beiträge: 4
Registriert: 17.09.2009, 16:57

Automatisch ins nächste Feld Hüpfen

Beitrag von Matti » 18.09.2009, 13:24

Sehr cool hatte verschiedene Werte deshalb hats nicht geklappt.

So das mit dem Traversal klappt noch nicht so 100Prozentig... gibts da irgendwo tutorials zu? ich pfusch mir das gerade zusammen würd das aber gern bodenständig lernen.

 

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Automatisch ins nächste Feld Hüpfen

Beitrag von walde » 18.09.2009, 16:20

Hallo Matti,

 

Schauen Sie sich mal die XML Ansicht in Ihrem Formular an. Per JavaScript können Sie über den XML Stammbaum auf die erforderlichen Objekte referenzieren.

Anbei ein Beispiel aus Auto Focus2 mit einem einzelnen Ferd. Hiebei ist die XML Hierarchie sehr deutlich zuerkennen.

<field name="Textfeld8" y="36.65mm" x="62.65mm" w="8mm" h="8mm">
 <ui>
  <textEdit hScrollPolicy="off">
   <border presence="hidden">
   <?templateDesigner StyleID aped0?></border>
   <margin/>
  </textEdit>
 </ui>
 <font typeface="Arial"/>
 <margin topInset="1mm" bottomInset="1mm" leftInset="1mm" rightInset="1mm"/>
 <para vAlign="middle" hAlign="center"/>
 <traversal>
  <traverse ref="Textfeld7[0]"/>
 </traversal>
 <event activity="change" name="event__change">
  <script contentType="application/x-javascript">xfa.event.change = xfa.event.change.toUpperCase();
   Scripte.AutoFocusTextFeld(this);
  </script>
 </event>
 <value>
  <text maxChars="1"/>
 </value>
</field>

 

Gruß,

 

Walde

dade
Beiträge: 1
Registriert: 17.05.2011, 14:12

Automatisch ins nächste Feld Hüpfen

Beitrag von dade » 17.05.2011, 21:11

Hallo Walde,

könnten sie mir bitte sagen, ob ich für das Einfügen der Java-Passagen das Programm "Adobe LiveCycle Designer ES2" benötige, oder ob die Modifikation auch im Acrobat Pro 9 möglich ist?

Besten dank für die Information.

Dade

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Automatisch ins nächste Feld Hüpfen

Beitrag von Merklin » 17.05.2011, 23:21

Hallo dade,

walde hat sich, glaube ich, aus Zeitgründen, aus diesen Forum zurück gezogen.
Was genau wollen Sie den machen?
Eröffnen sie doch einfach eine Threat mit ihrem Problem, dann wird ihnen bestimmt auch geholfen.

VG Merklin

Antworten