Seite 1 von 1
Feldlänge überprüfen
Verfasst: 12.04.2011, 13:25
von Hormann
Hallo Leute,
ich habe ein riesiges Problem mit meinem Formular.
Ich benötige ein Script welches die Länge meines Feldes überprüft und eine Fehlermeldung ausgibt, wenn die Länge des Feldes unter oder über 7 Ziffern beträgt.
Es dürfen nur Zahlen eingegeben werden.
DANKE
Gruß
Stephanie
Feldlänge überprüfen
Verfasst: 12.04.2011, 13:46
von nele_sonntag
Feldlänge überprüfen
Verfasst: 12.04.2011, 14:45
von Hormann
Danke,
aber irgendwie hilft mir das nicht weiter,
ich brache eine Funktion die die Feldlänge überprüft.
Gruß
Stephanie
Feldlänge überprüfen
Verfasst: 13.04.2011, 06:03
von nele_sonntag
Sorry, zu schnell gelesen.
Ein Blick in die Hilfe hätte Dich weiter gebracht, manche Sachen heißen auch tatsächlich so, wie man es denkt
Code: Alles auswählen
//Länge des "Rohwertes"
if(TextField1.rawValue.length>7){
xfa.host.messageBox("zu groß", "tipp",1,0);
TextField1.rawValue="";
}
LG Mandy
PS: Siehe Screenshot, im Deutschen analog. Einfach mal durchschauen, da wirst Du viele Sachen finden, die Dich weiterbringen.
Feldlänge überprüfen
Verfasst: 13.04.2011, 20:19
von Merklin
Hallo Mandy,
leider funktioniert dein Script, nicht bei mir. Ich habe schon mehere Varianten probiert, aber nichts. Zweitens, der Knackpunkt ist ja, wenn man zu wenig Zeichen eingegeben hat, das die Message erscheint. Aber dann erscheint die Message ja gleich, bevor man was eingegeben hat.
Hast du noch einen anderen Tip?
VG Merklin
Feldlänge überprüfen
Verfasst: 14.04.2011, 20:28
von armine
Hallo zusammen,
am liebsten hätte ich ein Dezimalfeld mit 7 Vor- und 0 Nachkommastellen genommen. Da kann man nur Ziffern eingeben, aber das ignoriert beim Überprüfen führende Nullen. Also muss ein Textfeld herhalten.
Formular1.Textfeld1::validate - (JavaScript, client)
if (this.rawValue.length < 7) {
xfa.host.messageBox("Die Eingabe besteht nur aus " + this.rawValue.length + " Ziffern.", "Die Eingabe ist zu kurz.");
}
Formular1.Textfeld1::change - (JavaScript, client)
if(/^\d{1,7}$/.test(xfa.event.newText) == false) {
xfa.event.change = "" ;
xfa.host.beep("0") ;
}
Problem gelöst?
armine
Feldlänge überprüfen
Verfasst: 14.04.2011, 21:01
von Merklin
Hallo armine,
das Script ist ja wiedermal der Hammer. Ich sitze schon den ganzen Abend daran und bin dann doch mit einer Notlösung mehr oder weniger gescheitert.
Eine Frage aber noch dazu. Bei mir, kommt immer eine Fehlermeldung, obwohl das Script funktioniert. Kann man das noch ausmerzen?
VG Merklin
Feldlänge überprüfen
Verfasst: 15.04.2011, 04:48
von armine
Hallo Merklin,
beim Laden wird das leere Feld validiert. Steckt man das validate-Skript in exit gibt es keine Fehlermeldung.
vg armine
Feldlänge überprüfen
Verfasst: 15.04.2011, 16:38
von Merklin
Hallo armine,
vielen Dank für den Tip, werde ihn gleich ausprobieren.
Da ich nun so lange an meiner "Notlösung" gesessen habe, möchte ich sie nun, auch hier veröffentlichen.
Vielleicht kann sie ja doch mal jemand gebrauchen.
VG Merklin
P.S. Würde sie gerne in die Musterabteilung setzen, ich meine dein und mein Script.
Wäre doch schade, wenn sie verloren gingen.
Feldlänge überprüfen
Verfasst: 16.04.2011, 21:14
von armine
Hallo Merklin,
da bin ich doch deiner Meinung! Und schade, dass Member Hormann nichts von sich hören lässt.
Eine Schwäche deines Ansatzes habe noch entdeckt (weil ich das gleiche Problem hatte), die führende(n) Null(en) werden bei der Verwendung Dezimalfeld bzw. Numerisches Feld nicht angezeigt.
Punkt und Komma sind bei dir auch mögliche Eingaben, weil du den Standard Gleitkommazahl nicht in Ganzzahl geändert hast. Dank Muster num{zzzzzzzzzzzz9} wird aber nur eine Ganzzahlangezeigt.
Wie auch immer: Es bleiben noch ein paar Probleme zu lösen und um Nachschub mache ich mir keine Sorgen.
vg armine