Seite 1 von 2
Telefonvorwahl
Verfasst: 11.02.2013, 16:08
von Herb
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
Telefonvorwahl
Verfasst: 11.02.2013, 16:23
von nele_sonntag
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
Telefonvorwahl
Verfasst: 11.02.2013, 16:57
von Herb
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
Telefonvorwahl
Verfasst: 11.02.2013, 17:11
von Merklin
Hallo herb,
ist doch eigentlich ganz einfach und wie ich denke,
der Scriptvariante vor zu ziehen.
VG Merklin
Telefonvorwahl
Verfasst: 11.02.2013, 17:23
von Herb
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
Telefonvorwahl
Verfasst: 11.02.2013, 17:24
von nele_sonntag
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
Telefonvorwahl
Verfasst: 11.02.2013, 17:38
von nele_sonntag
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..
Telefonvorwahl
Verfasst: 11.02.2013, 18:30
von Herb
Hast recht, ich bleibe jetzt auch bei deinem Code-Schnipsel und setzt das als Textfeld.
Nochmals vielen Dank
LG
Herb
Telefonvorwahl
Verfasst: 11.02.2013, 19:15
von nele_sonntag
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
Telefonvorwahl
Verfasst: 12.02.2013, 01:52
von armine
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