HTML Academy · Lektion

Das button-Element: submit, reset und button

Lösen Sie mit Buttons das Absenden und Zurücksetzen von Formularen oder benutzerdefinierte Aktionen aus.

Lektion 4 von 413 Schritte

Das button-Element: submit, reset und button ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Das button-Element

Das <button>-Element ist die wichtigste Möglichkeit, klickbare Steuerelemente zu erstellen:

<button type="submit">Submit</button>
<button type="reset">Clear Form</button>
<button type="button">Do Something</button>

<!-- Three types, each with a different default behavior -->
<!-- Always specify type — the default is submit inside forms -->

type=submit

type="submit" sendet das Formular beim Anklicken ab:

<form action="/register" method="post">
  <input type="email" name="email">
  <button type="submit">Create Account</button>
</form>
<!-- Triggers form validation, then sends the form data -->
<!-- Also triggered by pressing Enter in most text inputs -->

type=reset

type="reset" setzt alle Formularfelder auf ihre Standardwerte zurück:

<form>
  <input type="text" name="name" value="">  <!-- empty default -->
  <input type="number" name="qty" value="1">  <!-- default: 1 -->
  <button type="reset">Clear</button>
</form>
<!-- Clicking reset restores qty to 1 and clears name -->
<!-- Use sparingly — users often accidentally reset forms -->

type=button

type="button" führt standardmäßig keine Aktion aus – binden Sie JavaScript an:

<button type="button" id="toggle-theme">Toggle Dark Mode</button>

<script>
document.getElementById('toggle-theme').addEventListener('click', () => {
  document.body.classList.toggle('dark');
});
</script>
<!-- type="button" prevents accidental form submission
     Always use this for non-submit buttons -->

button vs input[type=submit]

<button> wird gegenüber <input type="submit"> bevorzugt:

<!-- Old way (limited): -->
<input type="submit" value="Submit">

<!-- Modern way (flexible — can contain HTML): -->
<button type="submit">
  <svg><!-- icon --></svg>
  Submit Form
</button>
<!-- button can contain icons, emphasis, and any inline HTML
     input type=submit can only have plain text via the value attribute -->

Deaktivierte Schaltfläche

Deaktivieren Sie eine Schaltfläche mit dem Attribut disabled:

<button type="submit" disabled>Submit</button>
<!-- Disabled buttons:
  - Cannot be clicked
  - Not in tab order
  - NOT submitted with the form
  - Browser renders them grayed out -->

<!-- Enable/disable with JavaScript: -->
btn.disabled = true;
btn.disabled = false;

Muster für den Ladezustand

Zeigen Sie den Ladezustand an, während ein Formular gesendet wird:

<button type="submit" id="submit-btn">
  <span id="btn-text">Submit</span>
  <span id="btn-spinner" hidden aria-hidden="true">⏳</span>
</button>

<script>
form.addEventListener('submit', () => {
  document.getElementById('submit-btn').disabled = true;
  document.getElementById('btn-text').textContent = 'Submitting...';
  document.getElementById('btn-spinner').hidden = false;
  document.getElementById('btn-spinner').removeAttribute('aria-hidden');
});
</script>

Überschreibungen für formaction und formmethod

Überschreiben Sie die Formularaktion oder -methode für eine bestimmte Schaltfläche:

<form action="/save" method="post">
  <input type="text" name="title">

  <!-- Save: uses form defaults -->
  <button type="submit">Save Draft</button>

  <!-- Publish: overrides action and method -->
  <button type="submit" formaction="/publish" formmethod="post">
    Publish Now
  </button>
</form>

Schaltfläche mit ARIA

Benutzerdefinierte Schaltflächen benötigen ARIA, wenn sie anders als native Schaltflächen aussehen:

<!-- Icon-only button -->
<button type="button" aria-label="Close dialog">
  <svg aria-hidden="true"><!-- X icon --></svg>
</button>

<!-- Toggle button -->
<button type="button" aria-pressed="false" id="bold-btn">
  Bold
</button>
<script>
document.getElementById('bold-btn').addEventListener('click', function() {
  const pressed = this.getAttribute('aria-pressed') === 'true';
  this.setAttribute('aria-pressed', !pressed);
});
</script>

Bewährte Vorgehensweisen für barrierefreie Schaltflächen

Checkliste für barrierefreie Schaltflächen:

  • Geben Sie immer type an – verlassen Sie sich nie auf den Standardwert
  • Verwenden Sie aria-label für Schaltflächen, die nur ein Symbol enthalten
  • Verwenden Sie aria-pressed für Umschalt-Schaltflächen
  • Deaktivierte Schaltflächen: Erwägen Sie aria-disabled="true" zusammen mit JavaScript, damit sie fokussierbar bleiben
  • Verwenden Sie niemals <div> oder <span> als Schaltflächen

Klickbereich und Touch-Ziele

Schaltflächen müssen für die Bedienung per Touch eine ausreichend große Tippfläche haben:

button {
  min-height: 44px;   /* Apple HIG minimum */
  min-width: 44px;    /* WCAG 2.5.5 (AAA) recommends 44x44 -->
  padding: 0.5rem 1rem;
  cursor: pointer;
}

/* Increase tap area without changing visual size: */
button {
  position: relative;
}
button::before {
  content: '';
  position: absolute;
  inset: -8px;
}

Kurze Überprüfung

Was passiert, wenn Sie das Attribut type bei einer Schaltfläche innerhalb eines Formulars weglassen?

Zusammenfassung: button-Element

Grundlagen zu Schaltflächen:

  • type="submit" – sendet das Formular ab
  • type="reset" – setzt alle Felder auf ihre Standardwerte zurück
  • type="button" – kein Standardverhalten; binden Sie JavaScript an
  • Geben Sie type immer an – der Standardwert ist submit
  • Bevorzugen Sie <button> gegenüber <input type="submit">
  • Verwenden Sie aria-label für Schaltflächen, die nur ein Symbol enthalten
Kostenlos starten

Lerne HTML mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
40
Lektionen
159

Häufig gestellte Fragen

Ist die Lektion „Das button-Element: submit, reset und button“ kostenlos?

Ja — der vollständige Text von „Das button-Element: submit, reset und button“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Das button-Element: submit, reset und button“?

Lösen Sie mit Buttons das Absenden und Zurücksetzen von Formularen oder benutzerdefinierte Aktionen aus. Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um HTML Academy zu starten?

Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Das button-Element: submit, reset und button“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?

Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das form-Element: action, method und enctype
  2. Input-Typen: text, password, email, number und tel
  3. Das label-Element und Barrierefreiheit
  4. Das button-Element: submit, reset und button
← Zurück zu HTML Academy