You can select all text in an HTML <textarea>
element in the following ways:
Select All Textarea Text When It's Clicked On
To select all text in an HTML <textarea>
element when it's clicked on, you can use the HTMLTextAreaElement.select()
method, for example, in the following way:
<textarea onclick="this.select()">Hello world!</textarea>
Alternatively, you may use the HTMLTextAreaElement.setSelectionRange()
method to achieve the same:
<textarea onclick="this.setSelectionRange(0, this.value.length)" > Hello world! </textarea>
If you do not wish to inline JavaScript, you may create an event handler function for the click event, for example, like so:
const textarea = document.getElementById('foo'); textarea.addEventListener('click', function (e) { e.target.select(); });
Or, alternatively, you can do the same using HTMLTextAreaElement.setSelectionRange()
, for example, like so:
const textarea = document.getElementById('foo'); textarea.addEventListener('click', function (e) { const target = e.target; target.setSelectionRange(0, target.value.length); });
You will have to replace "foo
" with the value you assign to the id
attribute of the <textarea>
element.
Select All Textarea Text When a Button is Clicked
Consider you have the following <textarea>
and a "select all" <button>
element:
<textarea id="foo">Hello world!</textarea> <button onclick="selectAllText('foo')">Select All</button>
You could implement the "selectAllText()
" function (which is called when the button is clicked) as follows:
function selectAllText(id) { const textarea = document.getElementById(id); textarea.focus(); textarea.select(); }
Or, alternatively, you could use HTMLTextAreaElement.setSelectionRange()
to achieve the same:
function selectAllText(id) { const textarea = document.getElementById(id); textarea.focus(); textarea.setSelectionRange(0, textarea.value.length); }
Calling HTMLElement.focus()
is important as just using HTMLTextAreaElement.select()
(or HTMLTextAreaElement.setSelectionRange()
) will not necessarily focus the textarea.
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.