Last updated: Mar 5, 2024
Reading timeยท6 min
To move the cursor to the end of an input field:
setSelectionRange()
method to set the current text selection
position to the end of the input field.focus()
method on the input element.focus
method will move the cursor to the end of the input element's
value.Here is the HTML for the example.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> </head> <body> <input type="text" id="first_name" name="first_name" value="Initial value" /> <button id="btn">Move cursor to end</button> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const input = document.getElementById('first_name'); const end = input.value.length; // โ Move focus to END of input field input.setSelectionRange(end, end); input.focus(); // โ Move focus to END of input field on button click const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { // ๐๏ธ get length right before clicking button const end = input.value.length; input.setSelectionRange(end, end); input.focus(); });
We used the
setSelectionRange()
method to set the start and end positions of the current text selection in the
input
element.
The two parameters we passed to the setSelectionRange
method are:
selectionStart
- a zero-based index of the first selected character.selectionEnd
- a zero-based index of the character after the last selected
character.An index greater than the length of the input's value points to the end of the value.
The last step is to call the focus() method on the element.
The focus
method moves the cursor to the element the method was called on.
To move the cursor to the end of the input field when a button is clicked:
click
event listener to a button element.setSelectionRange()
method on
the input element.focus()
method to move the cursor to the end of the input field.const input = document.getElementById('first_name'); const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { // ๐๏ธ get length right before clicking button const end = input.value.length; input.setSelectionRange(end, end); input.focus(); });
Every time the button is clicked, the handleClick
function is invoked, where
we:
To move the cursor to the beginning of an input field:
setSelectionRange()
method to move the cursor to the beginning of
the input field.focus()
method on the input element.focus
method will move the cursor to the beginning of the element's
value.Here is the HTML for the example.
<!DOCTYPE html> <html lang="en"> <head> <title>bobbyhadz.com</title> <meta charset="UTF-8" /> </head> <body> <input type="text" id="first_name" name="first_name" value="Initial value" /> <button id="btn">Move cursor to beginning</button> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const input = document.getElementById('first_name'); // โ Move focus to Beginning of input field input.setSelectionRange(0, 0); input.focus(); // โ Move focus to Beginning of input field on button click const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { input.setSelectionRange(0, 0); input.focus(); });
We used the
setSelectionRange()
method to set the start and end positions of the current text selection in the
input
element.
The two arguments we passed to the setSelectionRange()
method are:
selectionStart
- a zero-based index of the first selected character.selectionEnd
- a zero-based index of the character after the last selected
character.The last step is to call the focus() method on the element.
The focus
method moves the cursor to the element the method was called on.
To move the cursor to the beginning of the input field when a button is clicked:
click
event listener to a button element.setSelectionRange()
method on the
input element.focus()
method to move the cursor to the beginning of the input
field.const input = document.getElementById('first_name'); const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { input.setSelectionRange(0, 0); input.focus(); });
Every time the button is clicked, the handleClick
function is invoked, where
we:
To set the cursor at the end of a textarea:
setSelectionRange()
method to set the current text selection
position to the end of the textarea.focus()
method on the textarea element.focus
method will move the cursor to the end of the element's value.Here is the HTML for the examples.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>bobbyhadz.com</title> </head> <body> <textarea id="message" rows="5" cols="30">Initial text here</textarea> <button id="btn">Move cursor to beginning</button> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const textarea = document.getElementById('message'); const end = textarea.value.length; // โ Move focus to End of textarea textarea.setSelectionRange(end, end); textarea.focus(); // โ Move focus to End of textarea on button click const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { // ๐๏ธ get length right before clicking button const end = textarea.value.length; textarea.setSelectionRange(end, end); textarea.focus(); });
We used the
setSelectionRange()
method to set the start and end positions of the current text selection in the
textarea
element.
The two parameters we passed to the setSelectionRange
method are:
selectionStart
- a zero-based index of the first selected character.selectionEnd
- a zero-based index of the character after the last selected
character.An index greater than the length of the textarea's value points to the end of the value.
The last step is to call the focus() method on the element.
The focus
element moves the cursor to the element the method was called on.
To set the cursor at the end of a textarea when a button is clicked:
click
event listener to a button element.setSelectionRange()
method on the
textarea element.focus()
method to move the cursor to the end of the textarea.const textarea = document.getElementById('message'); // โ Move focus to End of textarea on button click const btn = document.getElementById('btn'); btn.addEventListener('click', function handleClick() { const end = textarea.value.length; textarea.setSelectionRange(end, end); textarea.focus(); });
Every time the button is clicked, the handleClick
function is invoked, where
we:
length
of the value of the element right when the button is clicked. This ensures that the value in the end
variable will always be up to date.You can learn more about the related topics by checking out the following tutorials: