Telefonvorwahl

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Herb
Beiträge: 9
Registriert: 10.02.2013, 12:56

Telefonvorwahl

Beitrag von Herb » 11.02.2013, 16:08

Hallo Leute,

kämpfe schon seit Stunden mit dem gleichen Problem.

Ich habe in meinem Formular ein Feld für die Eingabe von Telefonnumern eingebaut.

Eigentlich sind es 2 Eingabefelder: Feld A für die Vorwahl und Feld B für die eigentliche Telefonnummer. Setzt ich das Vorwahlfeld als numerisches Feld, dann wird die vorangestellte Null immer wieder verworfen. Setzt ich das Vorwahlfeld als Text-Feld, dann weiß ich nicht, wie ich es verhindern kann, das man auch Buchstaben eingeben kann.

Wie könnte bei einem numerisches Feld das Anzeigemuster aussehen, damit die Null mit angezeigt wird ? Das Feld ist auf max. 6 Zahlen begrenzt, es könnten aber auch weniger Zahlen eingegeben werde, also z.B. 089 für München oder längere Vorwahl für kleinern Ort.

Danke im Voraus für eure Hilfe.

Herb

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Telefonvorwahl

Beitrag von nele_sonntag » 11.02.2013, 16:23

Hallo Herb,

beides kein Problem.

Wenn du ein Zahlenfeld benutzt, musst du dein "Muster/Pattern" unter "Objekt" anpassen.

Die dort hinterlegten z/9/Z usw. betreffen genau deinen Sachverhalt. Bspw.
z = Eine einstellige Zahl oder keine Ausgabe, wenn die Eingabe eine führende Null ist; keine Ausgabe, wenn die Eingabe leer ist.

9 = Eine einstellige Zahl oder die Zahl Null, wenn die Eingabe leer ist. Zeigt nach der Dezimalwurzel die exakte Zahl der Stellen an, die im Datenwert enthalten ist.

usw., siehe Screenshot bzw. Link: http://help.adobe.com/de_DE/livecycle/9 ... es_45.html

Wenn du ein Textfeld benutzt, kannst du per Script die Eingabe auf bestimmte Zeichen beschränken, in deinem Fall folgendes..

Code: Alles auswählen

if(xfa.event.newText.match(/[^0-9]/)){
 xfa.event.change = "";
}
Dieses im CHANGE-Ereignis des betreffenden Feldes hinterlegen.

Einfach über
  • "Fenster" den "Skripteditor" öffnen,
  • Ereignis auswählen,
  • auf Javascript stellen,
  • Code hineinkopieren,
  • über Objekt die Anzahl der Zeichen einstellen,
  • Fertig!
LG Mandy

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

Herb
Beiträge: 9
Registriert: 10.02.2013, 12:56

Telefonvorwahl

Beitrag von Herb » 11.02.2013, 16:57

Danke Mandy,

das mit dem Pattern für das numerische Feld habe ich nicht so gecheckt, wie ich das Vergleichsmuster aufbauen muss, damit die vorangestellte Null auch anzeigt wird.

Habe mich nun für deine zweite Variante entschieden.

Vielen Dank für deine Hilfe.

LG

Herb

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

Telefonvorwahl

Beitrag von Merklin » 11.02.2013, 17:11

Hallo herb,

ist doch eigentlich ganz einfach und wie ich denke,
der Scriptvariante vor zu ziehen.

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

Herb
Beiträge: 9
Registriert: 10.02.2013, 12:56

Telefonvorwahl

Beitrag von Herb » 11.02.2013, 17:23

Hallo Merklin,

ich habe es gerade auch mit deiner Variante mal ausprobiert.

Die vorangestellte Null bleibt jetzt sichtbar, aber wenn ich z.B. nur 089 für München eingebe, dann wird das 5-stellige Feld mit weiteren Nullen aufgefüllt, also es wird dann 00089 anzeigt. Schaut so etwes doof aus :X

Hast du noch eine Idee, wie ich das in Griff bekommen könnte ?

Gruß

Herb

 

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Telefonvorwahl

Beitrag von nele_sonntag » 11.02.2013, 17:24

Das Problem bei dem von Merklin eingestelltem Muster ist, dass bei einer Anzahl von 6 Zahlen immer mit Nullen aufgefüllt wird.

Solltest du doch die von Merklin vorgestellte Variante bevorzugen, so vielleicht noch ein kleiner Tipp, denn mich persönlich stören optisch die Umrahmungen (einzelne Kästchen pro Ziffer) immer sehr.

Statt eines "Numerischen Feldes" einfach ein "Dezimalfeld" nehmen, keine "Zeichenanzahl" einstellen, sondern mit Vor- und Nachkommastellen arbeiten. In

In deinem Fall also 0 Nachkommastellen und 6 Vorkommastellen.

LG Mandy

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Telefonvorwahl

Beitrag von nele_sonntag » 11.02.2013, 17:38

Ich habe gerade eben noch herumprobiert, aber leider keine Mustervariante gefunden, die funktioniert. Vielleicht hat Merklin noch eine Idee.

Aus diesem Grund bevorzuge ich wohl auch immer das Scripting. Das macht halt das was es soll. Denn hier kann man ganz gezielt, Benutzereingaben erlauben respektive verbieten. Bspw. auch nur die 3,4 und 5..zusätzlich ein Sonderzeichen, bspw. das Minus..

Herb
Beiträge: 9
Registriert: 10.02.2013, 12:56

Telefonvorwahl

Beitrag von Herb » 11.02.2013, 18:30

Hast recht, ich bleibe jetzt auch bei deinem Code-Schnipsel und setzt das als Textfeld.

Nochmals vielen Dank

LG

Herb

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Telefonvorwahl

Beitrag von nele_sonntag » 11.02.2013, 19:15

Gern geschehen. Aber mal schauen, ob Merklin noch eine Idee hat, dann wissen wir alle für's nächste Mal Bescheid.

Ich für meinen Teil scripte lieber..mit manchen Hausmitteln mag ich mich nicht so recht anfreunden ;-)

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Telefonvorwahl

Beitrag von armine » 12.02.2013, 01:52

Hallo zusammen,

mit Skript und RegExp kann man der Sache beikommen. In meinem Ansatz fängt die Vorwahl mir einer Null (und nur einer Null) an, die Telefonnummer aber auf keinen Fall. Die Vorwahl kann bis zu 6 Stellen lang sein, die Gesamtlänge von Vorwahl + Telefonnummerist ist auf 11 Stellen (ohne die führende Null der Vorwahl) begrenzt. Ein Bindestrich zum Kennzeichnen der Durchwahl ist in der Telefonnummer nach 3 bis 6 Stellen möglich.
Kontrolliert wird die Eingabe im Change-Ereignis, d.h. um sicher zu gehen, dass alles zusammenpasst, müsste man am Schluss nochmal kontrollieren.

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

Antworten