Seite 1 von 1

Abfrage von Zeichenposition als Bedingung in JavaScript formulieren

Verfasst: 25.07.2013, 10:33
von sus2908
Hallo,
ich bräuchte Hilfe, um folgende Probleme in LiveCycle Designer ES2 zu lösen:
Es sollen im Skript formale Eigenschaften eines numerischen Feldes (Kontierungsfeld) in einer erweiterbaren Tabelle abgefragt werden. Je nach Ergebnis soll eine Warnmeldung erscheinen oder nicht. In das Kontierungsfeld können 12- oder 9-stellige Nummern eingeben werden.

Die if-Abfrage der formalen Eigenschaften soll folgenden Inhalt haben:
1. Wird eine 12-stellige Nummer eingegeben, die mit einer "7" beginnt und deren zehnte Stelle eine "9" ist > Warnmeldung (mit dem Text "xxxxxxx" einblenden)
2. Wird eine 12-stellige Nummer eingegeben, die mit einer "7" beginnt und wird in der nächsten Tabellenzeile eine weitere Nummer eingegeben (9- oder 12-stellig) > Warnmeldung (mit dem Text "xxxxxxx" einblenden)
else
passiert nichts

Außerdem möchte ich noch folgende Bedingung formulieren können:
Wird eine 9-stellige Nummer eingegeben > dann ...
wobei gilt, dass 9-stellige Nummern immer mit "1" beginnen

Leider gelingt es mir nicht, die Abfrage in JavaScript zu formulieren. Über Hilfe würde ich mich freuen!
danke im voraus

[font=arial]Susanne[/font]

Abfrage von Zeichenposition als Bedingung in JavaScript formulieren

Verfasst: 25.07.2013, 10:40
von nele_sonntag
Hallo sus,

dann lade doch schon mal dein bisheriges Konstrukt hoch, damit diejenigen, die dir helfen wollen, nicht erst selbst die Tabelle, Felder und Optik anlegen.

Außerdem sind mir Deine Fragen - ehrlich gesagt - nicht ganz klar. Vielleicht kannst du sie noch einmal anders erklären und es wird in Verbindung mit deinem Beispeil PDF deutlich.

Lg Mandy

Abfrage von Zeichenposition als Bedingung in JavaScript formulieren

Verfasst: 25.07.2013, 12:07
von sus2908
Hallo Mandy,

ich hänge die Datei mit der genannten Tabelle an. Es geht um das Textfeld (doch kein numerisches Feld) "Kostenstelle".
Da ich mich mit Finanzbuchhaltung gar nicht auskenne, kann ich den Hintergrund der Frage nicht besser beschreiben.
Aber ich versuche, die Fragestellung nochmal zu formulieren:

Immer wenn der Nutzer eine 12-stellige Nummer eingibt, die mit einer "7" beginnt und deren zehnte Stelle eine "9" ist, bedeutet das für die Buchhaltung, dass es sich um eine sog. Mischfinanzierung handelt. Dann soll die Meldung (z.B. JavaScript Warnmeldung) "Bei Mischfinanzierung füllen Sie bitte den „Nutzungsvermerk“ aus und legen ihn diesem Antrag bei." erscheinen.

Dasselbe gilt bei der zweiten Bedingung, wenn eine 12-stellige Nummer eingegeben wird UND in einer hinzugefügten Zeile eine weitere Nummer (egal ob 9- oder 12-stellig). Auch dann handelt es sich wohl um Mischfinanzierung und der genannte Hinweistext soll erscheinen.

Die dritte Frage bezieht sich auch auf diesen Feld "Kostenstelle". Wenn hier eine 9-stellige Nummer eingegeben wird, dann möchte ich ein weiteres Textfeld einblenden zur zusätzlichen Eingabe.

Ich hoffe, das ist jetzt besser zu verstehen?

Danke schonmal.

Susanne

Abfrage von Zeichenposition als Bedingung in JavaScript formulieren

Verfasst: 25.07.2013, 14:46
von radzmar
Ähm sorry, aber in deinem Beispiel sind gar keine Numerischen Felder vorhanden noch irgendwelche Skripte.
Mir fällt schwer nachzuvollziehen, was du vorhast.
Kannst Du die Felder mal benamen und ein paar Erläuterung eintragen?
Nebenbei bemerkt, meldet Designer im Bericht-Fenster (untere Leiste) einige Probleme bzgl. deines Formulars.

Abfrage von Zeichenposition als Bedingung in JavaScript formulieren

Verfasst: 25.07.2013, 18:26
von armine
Hallo Susanne,

du scheinst hier Neuland zu betreten. Um Eingaben zu überprüfen, solltest du dich mit „RegExp“ vertraut machen. Eine weitere nützliche Sache sind die Funktionen. Dann hast du den Code nicht in jedem Feld stehen sondern nur den Aufruf der Funktion. Die Funktionen findest du am Ende der Hierarche, „Skripte“.

Wegen der zahlreichen Fehlermelungen habe ich deine Datei nicht bearbeiten wollen, sondern eine eigene umgebaut. Kostenstelle ist nun ein Dezimalfeld, in dem bis zu 12 Stellen eingegeben werden können.

Mit dem aufgezeigen Weg solltest du dein Problem lösen können.
vg armine