Im CSS-Bereich kann über CSS-Selektoren auf Formularelemente zugegriffen werden und ihre Darstellung entsprechend angepasst werden.

Im JavaScript-bereich wird das Framework jQuery verwendet, welches CSS-Selektoren mit einigen Erweiterungen verwendet. Über Selektoren kann mit JavaScript auf Formularelemente zugegriffen werden. Im CSS-Bereich können diese Selektoren direkt verwendet werden.

Weitere Informationen zu CSS und weiterführende Links sind im Abschnitt zum CSS-Bereich zu finden.

Weitere Informationen zu jQuery und weiterführende Links sind im Abschnitt zum Skriptbereich zu finden.

Im Folgenden wird erklärt, wie Formularelemente mit Selektoren ausgewählt werden können und welche speziellen Selektoren es bei Formularen von Xima® Formcycle gibt. 

Eine Liste, wie auf Formularelemente über Selektoren zugegriffen werden kann, findet sich im Abschnitt Selektoren. Im Folgenden eine kurze Einleitung hierzu.

Attributselektoren bei der Formularerstellung

Häufig soll im Xima® Formcycle-Designer auf ein Formularelement mit einem bestimmten Namen zugegriffen werden. Dazu kann folgender Selektor verwendet werden.

$('[name=element]') // mittels jQuery im Skriptbereich
[name=element] { /* mittels CSS im CSS-Bereich */
 color: #DDD;
}
  • name
    Beziehe alle Elemente ein, die ein HTML-Attribut name haben.

  • element
    Wert, den das Attribut name haben soll.

Der Wert des Attributs name entspricht hierbei dem Namen des Formularelements, welches im Designer unter Grundeigenschaften vergeben wird.

Einige Formularelemente – wie z.B. Eingabefeld, Upload, Textarea – bestehen aus zwei HTML-Elementen. Neben dem eigentlichen Element wird noch ein HTML-Element für das Label erzeugt. Um beide HTML-Elemente gemeinsam zu selektieren, wird statt name das Attribut xn verwendet.

$('[xn=element]') // mittels jQuery im Skriptbereich
[xn=element] { /* mittels CSS im CSS-Bereich */
 font-weight: 600;
}
  • xn
    Beziehe alle Elemente ein, die das HTML-Attribut xn haben.

  • element
    Wert, den das Attribut xn haben soll.

Weitere Attributselektoren

// Alle Eingabefelder vom Typ "text"
$('input[type=text]')

// Alle Links, die im Attribute "href" einen Wert haben, der mit ".pdf" endet.
$('a[href$=".pdf"]')

// Alle Bilder mit einem "alt" Attribut
$('img[alt]')

Wenn Sie z.B. im Designer unter Eigenschaften einem Formularelement eigene Attribute für ein Element vergeben werden (z.B. meinAttribut mit dem Wert meinWert), können Sie mit $('[meinAttribut="meinWert"]') darauf zugreifen.

Arbeiten mit selektierten Elementen

Nachdem Elemente selektiert wurden, können diese mittels Funktionen von jQuery oder über weitere von Xima® Formcycle bereitgestellte Funktionen verändert werden.

// Alle Eingabefelder verstecken
$('input[type=text]').visible(false)

// Element mit Namen Postleitzahl als Mussfeld schalten
$('[name=Postleitzahl').setRequired(true)

Selektoren für Formularlemente

SelektorBemerkungBeispiel (jQuery / CSS)
FORM.xm-formSelektiert das gesamte Formular.$('FORM.xm-form')


FORM.xm-form {
 font-family: Arial;
}
.classSelektiert alle Elemente mit der entsprechenden Klasse. Eine Auflistung aller Klassennamen der Formularelemente findet sich unten. Zusätzlich gibt es noch die folgende Klassen.$('.XPage')


.XPage {
 background-color: #EEE;
}
.required-starSelektiert alle Elemente, die den Stern darstellen, der an einem Mussfeld angezeigt wird.$('.required-star')


.required-star {
 color: red;
}
.xm-item-divJedes Formularelement befindet sich in einem DIV-Element mit der Klasse xm-item-div. Dieses DIV-Element enthält die entsprechenden Elemente wie INPUT, SELECT, oder LABEL.
Beispielsweise besteht ein Eingabefeld aus einem LABEL-Element und einen INPUT-Element, welche beide zusammen in einem DIV mit der Klasse .xm-item-div enthalten sind.
$('[.xm-item-div]')


.xm-item-div {
 font-size: 1.2em;
}
.C<KLASSE>Wie oben unter .xm-item-div erläutert, befinden sich alle Formularelemente in einem umschließenden DIV-Element der Klasse .xm-item-div. Wenn das Formularelement z.B. die Klasse XTextField hat, trägt dieses DIV-Element trägt zusätzlich noch die Klasse CXTextField. C steht hierbei für Container.

Hiermit können alle Container einer bestimmten Art von Formularelement selektiert werden.

Eine Auflistung der Klassen findet sich unten.
$('[.CXTextField]')
$('[.CXCheckbox]')
$('[.CXImage]')



.CXCheckbox label {
 color: #aaa;
}
.xm-form-rowWerden mehrere Formularelemente in einer Reihe nebeneinander platziert, so wird ein DIV-Element mit der Klasse xm-form-row erzeugt, welches diese Elemente enthält.$('[.xm-form-row]')


.xm-form-row {
 border-style: solid;
}
name
Auflösen des Elements über den Namen. Dieser Selektor funktioniert bei jedem Element.


Bei Elementen, die dynamisch geschaltet wurden, sollte dieser Selektor jedoch nicht verwendet werden, da das Attribut name um einen Index erweitert wirdStattdessen kann org_name verwendet werden, siehe unten.
$('[name=element]')


[name=element]{
 font-weight: 700;
}
org_nameWird ein Formularelement dynamisch geschaltet, erhält jedes Element zusätzlich das Attribut org_name. Das Attribut name wird um einen Laufindex erweitert. Im Beispiels rechts werden alle dynamisch erzeugten Eingabefelder selektiert, die dynamisch von dem ursprünglichen Eingabefeld mit dem Name tf1 erzeugt wurden.$('[org_name=tf1]')


[org_name=tf1] {
 margin: 2px;
}
xnSelektiert ein Formularelement.


Einige Elemente, wie z.B. Eingabefeld, Upload, Textarea etc. bestehen aus zwei Elementen. Dem eigentlichen Element und dem beschreibenden Label. Um beide Elemente gemeinsam zu selektieren, wird statt name das Attribut xn verwendet.





$('[xn=element]')


[xn=XTextArea] {
 font-family: sans-serif;
}
cnSelektiert alle Formularelemente einer Klasse. Eine Liste der Klassen befindet sich unten.


Einige Elemente, wie z.B. Eingabefeld, Upload, Textarea etc. bestehen aus zwei Elementen. Dem eigentlichen Element und dem beschreibenden Label. Um beide Elemente gemeinsam zu selektieren, wird statt class das Attribut cn verwendet.
$('[cn=XPage]')


[cn=XTextField]{
 font-family: serif;
}

Liste der Klassen

SelektorBemerkungBeispiel
XPageSelektiert alle Seiten.$('[.XPage]')
$('[cn=XPage]')
XContainerSelektiert alle Container.$('[.XContainer]')
$('[cn=XContainer]')
XFieldSetSelektiert alle Fieldsets.$('.XFieldSet')
$('[cn=XFieldSet]')
XSpanSelektiert alle Texte.$('.XSpan')
$('[cn=XSpan]')
XTextAreaSelektiert alle Editoren.$('.XTextArea')
$('[cn=XTextArea]')
XTextFieldSelektiert alle Eingabefelder.$('.XTextField')
$('[cn=XTextField]')
XCheckboxSelektiert alle Checkboxen.$('.XCheckbox')
$('[cn=XCheckbox]')
XSelectSelektiert alle Auswahlelemente.$('.XSelect')
$('[cn=XSelect]')
XLineSelektiert alle Trennlinien.$('.XLine')
$('[cn=XLine]')
XImageSelektiert alle Bilder.$('.XImage')
$('[cn=XImage]')
XSpacerSelektiert alle Abstandsblöcke.$('.XSpacer')
$('[cn=XSpacer]')
XUploadSelektiert alle Upload-Elemente.$('.XUpload')
$('[cn=XUpload]')
XButtonListSelektiert alle Schaltflächen-Leisten.$('.XButtonList')
$('[cn=XButtonList]')
Tags:
Erstellt von awa am 03.05.2019, 15:52
Copyright 2000-2025