Formular: Radio
-
Akkordeon -
Anker -
Audio-Player -
Bild -
Bot -
Breaking News -
Button -
Card -
Chip -
Copyright -
Details -
Exposé -
Fetch -
Flip-Card -
Footer -
Formular: Block -
Formular: Checkbox -
Formular: Combobox -
Formular: Fehlerliste -
Formular: Filter -
Formular: Fortschrittsanzeige -
Formular: Input -
Formular: Layouts -
Formular: Radio -
Formular: Select -
Formular: Switch -
Formular: Textfeld -
Formular: Upload -
Formular: Validierung -
Galerie -
Grid -
Header -
Hervorgehobener Link -
Hervorhebung -
Icon -
In-Page Navigation -
Infobox -
Karussell -
Kontakt -
Links -
Liste -
Logo -
Map -
Meldung -
Menü -
Modal -
Newsletter -
Pager -
Paginierung -
Quicklink-Liste -
Reiter -
Section -
Sidebar -
Skip Link -
Social Media -
Stack -
Stage -
Status -
Suche -
Tabelle -
Tag -
Tourismuszeile -
Video-Player -
Vorspann -
Zeitstempel -
Zitat
Mittels Radio können Nutzer*innen eine einzelne Option aus einer Liste auswählen. Im Gegensatz zum Pattern Checkbox ist hier keine Mehrfachauswahl möglich, da sich die Optionen gegenseitig ausschließen.
Formular: Radio-Gruppe mit HTML
<div>
<fieldset>
<legend>Newsletter-Format</legend>
<div>
<input type="radio" name="gruppe1" value="html" id="gruppe1_auswahl1">
<label for="gruppe1_auswahl1">HTML (mit Formatierung)</label>
</div>
<div>
<input type="radio" name="gruppe1" value="text" id="gruppe1_auswahl2">
<label for="gruppe1_auswahl2">Text (ohne Formatierung)</label>
</div>
</fieldset>
</div>
Formular: Radio-Gruppe mit Webcomponents
<wm-radio legend="Newsletter-Format" labels="HTML (mit Formatierung);Text (ohne Formatierung)" values="html;text" name="format">
</wm-radio>
Weitere Beispiele
Alle Formularelemente können nativ in HTML abgebildet werden. Aufgrund der mangelnden Abhängigkeit von JavaScript ist das auch der bevorzugte Weg. Wird erweiterte Funktionalität wie clientseitige Validierung, Ein- und Ausblenden von Passwörtern, Anzeigen der maximalen Zeichenanzahl et cetera benötigt, müssen Sie alternativ die Webcomponent-Variante verwenden.
Formular: Radio-Gruppe mit einfacher Beschreibung
<div>
<fieldset aria-describedby="gruppe2_helptext">
<legend>Newsletter-Format</legend>
<div class="wm-forms-message" id="gruppe2_helptext">Wählen Sie Ihr bevorzugtes E-Mail-Format:</div>
<div>
<input type="radio" name="gruppe2" value="html" id="gruppe2_auswahl1">
<label for="gruppe2_auswahl1">HTML (mit Formatierung)</label>
</div>
<div>
<input type="radio" name="gruppe2" value="text" id="gruppe2_auswahl2">
<label for="gruppe2_auswahl2">Text (ohne Formatierung)</label>
</div>
</fieldset>
</div>
Formular: Radio-Gruppe mit Beschreibung
<div>
<fieldset aria-describedby="gruppe3_helptext">
<legend>Newsletter-Format</legend>
<wm-highlight color="flieder-light" id="gruppe3_helptext">
Wählen Sie Ihr bevorzugtes E-Mail-Format:
</wm-highlight>
<div>
<input type="radio" name="gruppe3" value="html" id="gruppe3_auswahl1">
<label for="gruppe3_auswahl1">HTML (mit Formatierung)</label>
</div>
<div>
<input type="radio" name="gruppe3" value="text" id="gruppe3_auswahl2">
<label for="gruppe3_auswahl2">Text (ohne Formatierung)</label>
</div>
</fieldset>
</div>
Formular: Radio-Gruppe mit Fehlermeldung
<div>
<fieldset aria-describedby="msg_auswahl4">
<legend>Newsletter-Format</legend>
<div>
<input type="radio" name="gruppe4" value="html" id="gruppe4_auswahl1" aria-invalid="true">
<label for="gruppe4_auswahl1">HTML (mit Formatierung)</label>
</div>
<div>
<input type="radio" name="gruppe4" value="text" id="gruppe4_auswahl2">
<label for="gruppe4_auswahl2">Text (ohne Formatierung)</label>
</div>
<div class="wm-forms-message" id="msg_auswahl4">Wählen Sie ein E-Mail-Format.</div>
</fieldset>
</div>
Formular: Radio-Gruppe mit einfacher Beschreibung
<wm-radio legend="Newsletter-Format" labels="HTML (mit Formatierung);Text (ohne Formatierung)" hint="Wählen Sie ein Format für den Newsletter" values="html;text" name="format"></wm-radio>
Formular: Radio-Gruppe mit Beschreibung
<wm-radio legend="Newsletter-Format" labels="HTML (mit Formatierung);Text (ohne Formatierung)" values="html;text" name="format">
<wm-highlight color="wasserblau-light" slot="hint">
Wählen Sie ein Format für den Newsletter
</wm-highlight>
</wm-radio>
Formular: Radio-Gruppe mit Beschreibung, Werten und Disabled
<wm-radio legend="Newsletter-Format:" labels="HTML (mit Formatierung);Text (ohne Formatierung)" values="html;text" name="format" disabled="true;true"></wm-radio>
Formular: Radio-Gruppe mit Fehlermeldung
<wm-radio legend="Newsletter-Format:" labels="HTML (mit Formatierung);Text (ohne Formatierung)" error="Bitte wählen Sie ein Format" values="html;text" name="format"></wm-radio>
Formular: Radio Buttons mit JavaScript befüllt
<wm-radio legend="Radio-Gruppe" name="radio3" id="radio3" required></wm-radio>
<script>
const radio = document.querySelector('#radio3');
radio.addEventListener('wm-defined',function () {
radio.setOptions([
{
text: "HTML (mit Formatierung)",
value: "html",
checked: true
},
{
text: "Text (ohne Formatierung)",
value: "text",
disabled: true
},
{
text: "Text (ohne Formatierung)",
value: "text",
disabled: false
}
]);
});
</script>
Formular: Radio-Gruppe mit Change-Event (siehe Konsole)
<wm-radio legend="Newsletter-Format" labels="HTML (mit Formatierung);Text (ohne Formatierung)" values="html;text" name="format" id="radios2"></wm-radio>
<script>
const radios2 = document.querySelector('#radios2');
radios2.addEventListener('wm-change', e => {
console.log(e)
})
</script>
Formular: Radio-Gruppe Disabled Attribute mit JavaScript getauscht (siehe Konsole)
<wm-radio legend="Newsletter-Format" labels="HTML (mit Formatierung);Text (ohne Formatierung)" values="html;text" name="format" disabled="true;true" id="radioSwap"></wm-radio>
<script>
window.addEventListener('load', () => {
const radioSwap = document.querySelector('#radioSwap');
if (radioSwap) {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const options = radioSwap.getOptions();
setTimeout(() => {
options.forEach(option => {
option.disabled = false;
});
radioSwap.setOptions(options);
console.log(radioSwap.getOptions());
observer.disconnect();
}, 5000);
}
});
});
observer.observe(radioSwap);
}
});
</script>
Abhängigkeiten
<script src="https://assets.wien.gv.at/theme/latest/js/components/Radio/Radio.js" type="module"></script>
import { Radio } from './wienermelange/assets/js/components/Radio/Radio.js';
Eigenschaften
Eigenschaft | Beschreibung | Werte | Default |
---|---|---|---|
errormessage
|
Fehlermeldung bei ungültiger Eingabe |
String
|
""
|
summaryErrormessage
|
Spezifische Fehlermeldung für die Fehlerübersicht Diese Meldung wird in der Fehlerübersicht (wm-formerrorsummary) anstelle der normalen Fehlermeldung angezeigt. Dies ist nützlich, um in der Übersicht kontextspezifischere Fehlermeldungen anzuzeigen, z.B. "Bitte wählen Sie eine Option bei 'Zahlungsart'" statt nur "Auswahl erforderlich". |
String
|
""
|
hasError
|
Gibt an, ob das Element einen Fehler hat Dies ist ein Statusattribut, das anzeigt, ob aktuell ein Validierungsfehler vorliegt. Es wird auf true gesetzt, wenn die Validierung fehlschlägt, und auf false zurückgesetzt, wenn die Validierung erfolgreich ist oder das Formular zurückgesetzt wird. |
Boolean
|
false
|
showErrors
|
Steuert die Anzeige von Fehlermeldungen Im Gegensatz zu 'hasError' steuert dieses Attribut, ob Fehlermeldungen angezeigt werden sollen. Wenn auf true gesetzt, werden Validierungsfehler sofort angezeigt, ohne auf eine Formularübermittlung zu warten. Wird typischerweise vom übergeordneten wm-form Element gesteuert. |
Boolean
|
false
|
validate
|
Aktiviert die Validierung bei Eingabe Wenn auf true gesetzt, werden Auswahländerungen sofort validiert und Fehler angezeigt, ohne auf eine Formularübermittlung zu warten. Wird typischerweise vom übergeordneten wm-form Element gesteuert. |
Boolean
|
false
|
error
|
Aktuelle Fehlermeldung |
String
|
""
|
info
|
Zusätzliche Informationen zum Feld |
String
|
leer |
checked
|
Ausgewählter Wert (kann über 'checked' Attribut gesetzt werden) |
String
|
""
|
disabled
|
Global disabled state |
Boolean
|
false
|
disabledoptions
|
Per-option configuration for disabled state |
String
|
""
|
_errorController
|
|
new ErrorStateController(this)
|
|
|
|
|
Methoden
Eigenschaft | Optionen | Argumente |
---|---|---|
_handleChange
|
||
_handleEvent
|
||
formResetCallback
|
/ |
Kontakt
Haben Sie noch Fragen, Feedback oder brauchen Sie ein Element, das die Pattern Library noch nicht
bietet?
handbuch@ma53.wien.gv.at