A15 – Bonus: Kontaktformular

🎯 Lernziel: Du kannst ein HTML-Formular mit verschiedenen Eingabefeldern erstellen und die wichtigsten Formular-Tags kennen.

Referenz im Kurs: → Beispiel a_14_tags-formulare.html

Ziel

Erstelle eine neue Datei kontakt.html mit einem Formular, über das Besucher ihr „Lieblingselement" mitteilen können. Das fertige Formular soll ungefähr so aussehen:

Aufgabe A15

Teil A – Formular-Grundstruktur

Erstelle kontakt.html mit dem Seitengerüst und Navigation. Füge dann das Formular ein:

<form action="#" method="post">

    <label for="name">Dein Name:</label>
    <input type="text" id="name" name="name"
           placeholder="Max Mustermann" required>

    <label for="email">E-Mail-Adresse:</label>
    <input type="email" id="email" name="email"
           placeholder="[email protected]" required>

    <label for="element">Mein Lieblingselement:</label>
    <select id="element" name="element">
        <option value="">– bitte wählen –</option>
        <option value="feuer">🔥 Feuer</option>
        <option value="erde">🪨 Erde</option>
        <option value="luft">💨 Luft</option>
        <option value="wasser">💧 Wasser</option>
    </select>

    <label for="nachricht">Warum magst du dieses Element?</label>
    <textarea id="nachricht" name="nachricht"
              rows="4" placeholder="Weil …"></textarea>

    <button type="submit">Absenden</button>

</form>

Teil B – Formular mit CSS gestalten

Ergänze in style.css Regeln für Formular-Elemente:

label {
    display: block;
    margin-top: 1em;
    margin-bottom: 0.3em;
    font-weight: bold;
}

input, select, textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5em 0.7em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: inherit;
    font-size: 1em;
}

input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: #2980b9;
    box-shadow: 0 0 0 3px rgba(41, 128, 185, 0.2);
}

button[type="submit"] {
    margin-top: 1.5em;
    padding: 0.6em 2em;
    background: #2980b9;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.2s;
}

button[type="submit"]:hover {
    background: #1a5276;
}

Teil C – Formularfelder erkunden

Ergänze das Formular um einen Radiobutton-Block (der Nutzer wählt eines von mehreren, sich ausschließenden Optionen):

<fieldset>
    <legend>Wie hast du von dieser Seite erfahren?</legend>
    <label>
        <input type="radio" name="quelle" value="freunde"> Von Freunden
    </label>
    <label>
        <input type="radio" name="quelle" value="suche"> Suchmaschine
    </label>
    <label>
        <input type="radio" name="quelle" value="zufall"> Zufällig
    </label>
</fieldset>
💡 label und id zusammen:
Das for-Attribut des Labels und die id des Feldes müssen identisch sein. Dann kann man auf das Label klicken, um das Eingabefeld zu fokussieren – wichtig für Barrierefreiheit!