HTMLInputElement: setRangeText() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Die HTMLInputElement.setRangeText() Methode ersetzt einen Textbereich in einem <input> oder <textarea> Element durch einen neuen String.

Syntax

js
setRangeText(replacement)
setRangeText(replacement, start)
setRangeText(replacement, start, end)
setRangeText(replacement, start, end, selectMode)

Parameter

replacement

Der String, der eingefügt werden soll.

start Optional

Der 0-basierte Index des ersten Zeichens, das ersetzt werden soll. Standardmäßig ist dies der aktuelle selectionStart Wert (der Beginn der aktuellen Benutzerauswahl).

end Optional

Der 0-basierte Index des Zeichens nach dem letzten zu ersetzenden Zeichen. Standardmäßig ist dies der aktuelle selectionEnd Wert (das Ende der aktuellen Benutzerauswahl).

selectMode Optional

Ein String, der festlegt, wie die Auswahl nach dem Ersetzen des Textes gesetzt werden soll. Mögliche Werte sind:

  • "select" wählt den neu eingefügten Text aus.
  • "start" bewegt die Auswahl direkt vor den eingefügten Text.
  • "end" bewegt die Auswahl direkt hinter den eingefügten Text.
  • "preserve" versucht, die Auswahl beizubehalten. Dies ist der Standardwert.

Rückgabewert

Keiner (undefined).

Beispiele

Klicken Sie auf die Schaltfläche in diesem Beispiel, um einen Teil des Textes im Textfeld zu ersetzen. Der neu eingefügte Text wird danach hervorgehoben (ausgewählt).

HTML

html
<input
  type="text"
  id="text-box"
  size="30"
  value="This text has NOT been updated." />
<button>Update text</button>

JavaScript

js
function selectText() {
  const input = document.getElementById("text-box");
  input.focus();
  input.setRangeText("ALREADY", 14, 17, "select");
}

document.querySelector("button").addEventListener("click", selectText);

Ergebnis

Spezifikationen

Specification
HTML
# dom-textarea/input-setrangetext-dev

Browser-Kompatibilität

Siehe auch