Add Text in Textarea Using Button & Change Cursor Position
We as designers or developers strive to make our users' experience more intuitive. Sometimes clicking a button to carry out a job is a lot more fun than typing a command to do the same. Below is a simple example of doing such a thing. We are adding a code tag in our textarea using a button to make it easy for our users to type or paste the code in our community project.
Step 1: Add
tag in the textarea by clicking the button
HTML
<textarea id="textareaId"></textarea>
<button onclick="addCode()">Add code</button>
Javascript
let inputEl = document.getElementById('textareaId');
addCode(){
inputEl.value = inputEl.value + "<code></code>";
}
Step 2: Put the
tags at current cursor position
let pos = inputEl.selectionStart;
let val = inputEl.value;
let start = val.substring(0, pos);
let end = val.substring(pos, val.length);
inputEl.value = start + "<code> </code>" + end;
Step 3: Bring the cursor between and
inputEl.selectionStart = pos - 7;
inputEl.selectionEnd = pos - 7;
inputEl.focus();
Tada! We not just added the code tag inside the textarea but also moved our cursor between and
tags. I hope this will also save time and effort of our users.