Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTML
  3. Reference
  4. Elements
  5. <input>
  6. <input type="button">

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

<input type="button">

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

<input>-Elemente vom Typbutton werden als Druckschaltflächen dargestellt, die programmiert werden können, um benutzerdefinierte Funktionen überall auf einer Webseite zu steuern, wenn sie mit einer Ereignisbehandlungsfunktion (typischerweise für dasclick-Ereignis) versehen sind.

Probieren Sie es aus

<input type="button" value="Add to favorites" />
.styled {  border: 0;  line-height: 2.5;  padding: 0 20px;  font-size: 1rem;  text-align: center;  color: white;  text-shadow: 1px 1px 1px black;  border-radius: 10px;  background-color: tomato;  background-image: linear-gradient(    to top left,    rgb(0 0 0 / 20%),    rgb(0 0 0 / 20%) 30%,    transparent  );  box-shadow:    inset 2px 2px 3px rgb(255 255 255 / 60%),    inset -2px -2px 3px rgb(0 0 0 / 60%);}.styled:hover {  background-color: red;}.styled:active {  box-shadow:    inset -2px -2px 3px rgb(255 255 255 / 60%),    inset 2px 2px 3px rgb(0 0 0 / 60%);}

Hinweis:Während<input>-Elemente vom Typbutton immer noch vollständig gültiges HTML sind, ist das neuere<button>-Element jetzt die bevorzugte Methode zur Erstellung von Schaltflächen. Da der Beschriftungstext eines<button> zwischen den öffnenden und schließenden Tags eingefügt wird, können Sie HTML in die Beschriftung einfügen, sogar Bilder.

Wert

Schaltfläche mit einem Wert

Dasvalue-Attribut eines<input type="button">-Elements enthält einen String, der als Beschriftung der Schaltfläche verwendet wird. Dervalue bietet diezugängliche Beschreibung für die Schaltfläche.

html
<input type="button" value="Click Me" />

Schaltfläche ohne einen Wert

Wenn Sie keinenvalue angeben, erhalten Sie eine leere Schaltfläche:

html
<input type="button" />

Verwendung von Schaltflächen

<input type="button">-Elemente haben kein Standardverhalten (ihre Verwandten,<input type="submit"> und<input type="reset">, werden verwendet, um Formulare zu senden bzw. zurückzusetzen). Um Schaltflächen etwas zu tun zu lassen, müssen Sie JavaScript-Code schreiben, um die Arbeit auszuführen.

Eine grundlegende Schaltfläche

Wir beginnen mit der Erstellung einer grundlegenden Schaltfläche mit einemclick-Ereignis-Handler, der unsere Maschine startet (nun, er wechselt denvalue der Schaltfläche und den Textinhalt des folgenden Absatzes).

html
<form>  <input type="button" value="Start machine" /></form><p>The machine is stopped.</p>
js
const button = document.querySelector("input");const paragraph = document.querySelector("p");button.addEventListener("click", updateButton);function updateButton() {  if (button.value === "Start machine") {    button.value = "Stop machine";    paragraph.textContent = "The machine has started!";  } else {    button.value = "Start machine";    paragraph.textContent = "The machine is stopped.";  }}

Das Skript erhält eine Referenz auf dasHTMLInputElement-Objekt, das das<input> im DOM darstellt und speichert diese Referenz in der Variablenbutton.addEventListener() wird dann verwendet, um eine Funktion festzulegen, die ausgeführt wird, wennclick-Ereignisse auf der Schaltfläche auftreten.

Hinzufügen von Tastenkombinationen zu Schaltflächen

Tastenkombinationen, auch bekannt als Zugangstasten und Tastaturäquivalente, ermöglichen es dem Benutzer, eine Schaltfläche mit einer Taste oder Tastenkombination auf der Tastatur auszulösen. Um einer Schaltfläche eine Tastenkombination hinzuzufügen — genau wie bei jedem<input>, für das es sinnvoll ist — verwenden Sie das globale Attributaccesskey.

In diesem Beispiel ists als Zugangstaste angegeben (Sie müssens plus die speziellen Modifikatortasten für Ihre Browser-/OS-Kombination drücken; sieheaccesskey für eine nützliche Liste dieser).

html
<form>  <input type="button" value="Start machine" accesskey="s" /></form><p>The machine is stopped.</p>
const button = document.querySelector("input");const paragraph = document.querySelector("p");button.addEventListener("click", updateButton);function updateButton() {  if (button.value === "Start machine") {    button.value = "Stop machine";    paragraph.textContent = "The machine has started!";  } else {    button.value = "Start machine";    paragraph.textContent = "The machine is stopped.";  }}

Hinweis:Das Problem mit dem obigen Beispiel ist natürlich, dass der Benutzer nicht wissen wird, was die Zugangstaste ist! Auf einer echten Website müssten Sie diese Information auf eine Weise bereitstellen, die das Design der Website nicht stört (zum Beispiel durch einen leicht zugänglichen Link, der auf Informationen darüber verweist, was die Zugangstasten der Website sind).

Deaktivieren und Aktivieren einer Schaltfläche

Um eine Schaltfläche zu deaktivieren, geben Sie das globale Attributdisabled an:

html
<input type="button" value="Disable me" disabled />

Das disabled-Attribut setzen

Sie können Schaltflächen zur Laufzeit aktivieren und deaktivieren, indem Siedisabled auftrue oderfalse setzen. In diesem Beispiel wird unsere Schaltfläche zunächst aktiviert. Wenn Sie sie drücken, wird sie mitbutton.disabled = true deaktiviert. EinesetTimeout()-Funktion wird dann verwendet, um die Schaltfläche nach zwei Sekunden wieder in den aktivierten Zustand zurückzusetzen.

html
<input type="button" value="Enabled" />
js
const button = document.querySelector("input");button.addEventListener("click", disableButton);function disableButton() {  button.disabled = true;  button.value = "Disabled";  setTimeout(() => {    button.disabled = false;    button.value = "Enabled";  }, 2000);}

Den deaktivierten Zustand erben

Wenn dasdisabled-Attribut nicht angegeben ist, erbt die Schaltfläche ihrendisabled-Zustand von ihrem Elternelement. Dadurch ist es möglich, Gruppen von Elementen auf einmal zu aktivieren und zu deaktivieren, indem Sie sie in einem Container wie einem<fieldset>-Element einschließen und danndisabled auf den Container setzen.

Das folgende Beispiel zeigt dies in Aktion. Dies ist dem vorherigen Beispiel sehr ähnlich, außer dass dasdisabled-Attribut beim Drücken der ersten Schaltfläche auf das<fieldset> gesetzt wird — dies führt dazu, dass alle drei Schaltflächen deaktiviert werden, bis der Zwei-Sekunden-Timeout abgelaufen ist.

html
<fieldset>  <legend>Button group</legend>  <input type="button" value="Button 1" />  <input type="button" value="Button 2" />  <input type="button" value="Button 3" /></fieldset>
js
const button = document.querySelector("input");const fieldset = document.querySelector("fieldset");button.addEventListener("click", disableButton);function disableButton() {  fieldset.disabled = true;  setTimeout(() => {    fieldset.disabled = false;  }, 2000);}

Hinweis:Im Gegensatz zu anderen Browsern behält Firefox dendisabled-Zustand eines<input>-Elements auch nach dem Neuladen der Seite bei. Als Workaround setzen Sie dasautocomplete-Attribut des<input>-Elements aufoff. (SieheFirefox-Bug 654072 für weitere Details.)

Validierung

Schaltflächen nehmen nicht an der Einschränkungsvalidierung teil; sie haben keinen echten Wert, um eingeschränkt zu werden.

Beispiele

Das folgende Beispiel zeigt eine sehr einfache Zeichenanwendung, die mit einem<canvas>-Element sowie etwas CSS und JavaScript erstellt wurde (wir verstecken CSS der Kürze halber). Die beiden oberen Steuerungen ermöglichen es Ihnen, die Farbe und Größe des Zeichenstifts auszuwählen. Die Schaltfläche, wenn sie geklickt wird, ruft eine Funktion auf, die die Leinwand löscht.

html
<div>  <input type="color" aria-label="select pen color" />  <input    type="range"    min="2"    max="50"    value="30"    aria-label="select pen size" /><span>30</span>  <input type="button" value="Clear canvas" /></div><canvas>  <p>Add suitable fallback here.</p></canvas>
body {  background: #cccccc;  margin: 0;  overflow: hidden;}.toolbar {  background: #cccccc;  width: 150px;  height: 75px;  padding: 5px;}input[type="color"],input[type="button"] {  width: 90%;  margin: 0 auto;  display: block;}input[type="range"] {  width: 70%;}span {  position: relative;  bottom: 5px;}
js
const canvas = document.querySelector(".myCanvas");const width = (canvas.width = window.innerWidth);const height = (canvas.height = window.innerHeight - 85);const ctx = canvas.getContext("2d");ctx.fillStyle = "rgb(0 0 0)";ctx.fillRect(0, 0, width, height);const colorPicker = document.querySelector('input[type="color"]');const sizePicker = document.querySelector('input[type="range"]');const output = document.querySelector(".output");const clearBtn = document.querySelector('input[type="button"]');// covert degrees to radiansfunction degToRad(degrees) {  return (degrees * Math.PI) / 180;}// update size picker output valuesizePicker.oninput = () => {  output.textContent = sizePicker.value;};// store mouse pointer coordinates, and whether the button is pressedlet curX;let curY;let pressed = false;// update mouse pointer coordinatesdocument.onmousemove = (e) => {  curX = e.pageX;  curY = e.pageY;};canvas.onmousedown = () => {  pressed = true;};canvas.onmouseup = () => {  pressed = false;};clearBtn.onclick = () => {  ctx.fillStyle = "rgb(0 0 0)";  ctx.fillRect(0, 0, width, height);};function draw() {  if (pressed) {    ctx.fillStyle = colorPicker.value;    ctx.beginPath();    ctx.arc(      curX,      curY - 85,      sizePicker.value,      degToRad(0),      degToRad(360),      false,    );    ctx.fill();  }  requestAnimationFrame(draw);}draw();

Technische Zusammenfassung

WertEin String, der als Beschriftung der Schaltfläche verwendet wird
Ereignisse[`click`](/de/docs/Web/API/Element/click_event)
Unterstützte gemeinsame Attributetype undvalue
IDL-Attributevalue
DOM-Schnittstelle

[`HTMLInputElement`](/de/docs/Web/API/HTMLInputElement)

MethodeKeine
Implizite ARIA-Rollebutton

Spezifikationen

Specification
HTML
# button-state-(type=button)

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp