Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLInputElement : méthode setSelectionRange()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

La méthode setSelectionRange() de l'interface HTMLInputElement définit les positions de début et de fin de la sélection de texte courante dans un élément HTML <input> ou <textarea>. Cela met à jour l'état de sélection immédiatement, bien que la mise en évidence visuelle n'apparaisse que lorsque l'élément a la sélection.

Vous pouvez éventuellement définir la direction dans laquelle la sélection est considérée comme s'effectuant. Cela permet, par exemple, d'indiquer que la sélection est effectuée par un·e utilisateur·ice qui clique et fait glisser depuis la fin du texte sélectionné vers le début.

Cette méthode met à jour, en un seul appel, les propriétés HTMLInputElement.selectionStart, HTMLInputElement.selectionEnd et HTMLInputElement.selectionDirection, que l'élément ait ou non la sélection. La mise en évidence visuelle de la sélection n'apparaît que lorsque l'élément a la sélection.

L'élément doit être de l'un des types d'entrée suivants : password, search, tel, text ou url. Sinon, le navigateur lève une exception InvalidStateError.

Si vous souhaitez sélectionner tout le texte d'un élément input, vous pouvez utiliser la méthode HTMLInputElement.select() à la place.

Syntaxe

js
setSelectionRange(selectionStart, selectionEnd)
setSelectionRange(selectionStart, selectionEnd, selectionDirection)

Paramètres

selectionStart

L'indice (à partir de 0) du premier caractère sélectionné. Un indice supérieur à la longueur de la valeur de l'élément est traité comme pointant vers la fin de la valeur.

selectionEnd

L'indice (à partir de 0) du caractère après le dernier caractère sélectionné. Un indice supérieur à la longueur de la valeur de l'élément est traité comme pointant vers la fin de la valeur. Si selectionEnd est inférieur à selectionStart, alors les deux sont traités comme ayant la valeur selectionEnd.

selectionDirection Facultatif

Une chaîne de caractères indiquant la direction dans laquelle la sélection est considérée comme ayant été effectuée. Valeurs possibles :

  • "forward"
  • "backward"
  • "none" si la direction est inconnue ou sans importance. Valeur par défaut.

Valeur de retour

Aucune (undefined).

Exceptions

InvalidStateError DOMException

Levée si l'élément n'appartient pas aux types d'entrée suivants : password, search, tel, text ou url.

Exemples

Cliquez sur le bouton de cet exemple pour sélectionner les troisième, quatrième et cinquième caractères du champ de texte (« zil » dans le mot « Mozilla »).

HTML

html
<input type="text" id="text-box" size="20" value="Mozilla" />
<button>Sélectionner le texte</button>

JavaScript

js
function selectText() {
  const input = document.getElementById("text-box");
  input.focus();
  input.setSelectionRange(2, 5);
}

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

Résultat

Spécifications

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

Compatibilité des navigateurs

Voir aussi