H
Heiner Kücker
Anleitung Setzen Fokus über JavaScript im CnC-JSP-Workflow-Framework
--------------------------------------------------------------------
Auf der JSP-Seite muss zum Setzen des Focus auf ein
FORM-Feld folgender JavaScript-Code (hinter der Form </form>)
<script language="JavaScript" type="text/javascript">
<!--
document.forms[0].elements[ '<feld-name>' ].focus();
//-->
</script>
eingefügt werden.
Dies wird durch das CnC-Custom-Tag
<cnc:setfocus elemName="date"/>
erledigt (siehe SetFocusTag.java).
Es benutzt entweder das optionale Attribut
elemName="date"
oder den auf dem SessionKey CNC_FOCUS hinterlegten
Form-Element-Namen, wobei der SessionKey Vorrang hat.
Nach dem Erzeugen des JavaScript-Codes löscht das
SetFocusTag.java den Session-Wert auf dem Key
CNC_FOCUS (message consumed).
Im Fluss-Steuer-Script flow.cnc kann der Name des zu
fokussierenden Form-Elementes mit
session.CNC_FOCUS := "date";
gesetzt werden.
Bei indizierten Formularen (Tabellen) ist der Index des zu
fokussierenden Form-Elementes in eckigen Klammern mit zu
übergeben:
session.CNC_FOCUS := "txt[" + cnc_button_index + "]";
Es dürfen keine Leerzewichen, führende Nullen oder Dezimalstellen
auftauchen.
Hier besteht eine Abhängigkeit zur internen Arbeitsweise des CnC-
Frameworks. Der Einfachheit wegen habe ich diese Lösung fürs
erste gewählt.
Heiner Kuecker
Internet: http://www.heinerkuecker.de http://www.heiner-kuecker.de
JSP WorkFlow PageFlow Page Flow FlowControl Navigation: http://www.control-and-command.de
Expression Language Parser: http://www.heinerkuecker.de/Expression.html
--------------------------------------------------------------------
Auf der JSP-Seite muss zum Setzen des Focus auf ein
FORM-Feld folgender JavaScript-Code (hinter der Form </form>)
<script language="JavaScript" type="text/javascript">
<!--
document.forms[0].elements[ '<feld-name>' ].focus();
//-->
</script>
eingefügt werden.
Dies wird durch das CnC-Custom-Tag
<cnc:setfocus elemName="date"/>
erledigt (siehe SetFocusTag.java).
Es benutzt entweder das optionale Attribut
elemName="date"
oder den auf dem SessionKey CNC_FOCUS hinterlegten
Form-Element-Namen, wobei der SessionKey Vorrang hat.
Nach dem Erzeugen des JavaScript-Codes löscht das
SetFocusTag.java den Session-Wert auf dem Key
CNC_FOCUS (message consumed).
Im Fluss-Steuer-Script flow.cnc kann der Name des zu
fokussierenden Form-Elementes mit
session.CNC_FOCUS := "date";
gesetzt werden.
Bei indizierten Formularen (Tabellen) ist der Index des zu
fokussierenden Form-Elementes in eckigen Klammern mit zu
übergeben:
session.CNC_FOCUS := "txt[" + cnc_button_index + "]";
Es dürfen keine Leerzewichen, führende Nullen oder Dezimalstellen
auftauchen.
Hier besteht eine Abhängigkeit zur internen Arbeitsweise des CnC-
Frameworks. Der Einfachheit wegen habe ich diese Lösung fürs
erste gewählt.
Heiner Kuecker
Internet: http://www.heinerkuecker.de http://www.heiner-kuecker.de
JSP WorkFlow PageFlow Page Flow FlowControl Navigation: http://www.control-and-command.de
Expression Language Parser: http://www.heinerkuecker.de/Expression.html