1

Тема: JS выделение текста в форме при клике

Текстовые поля поддерживают метод select(), который выделяет весь текст в текстовом поле. Для того, чтобы этот метод работал, поле должно иметь фокус, поэтому перед вызовом метода select() нужно вызывать другой метод - focus() (это требуется не для всех браузеров, но гораздо безопаснее всегда использовать focus).

function selectText(){
  var oTextBox = document.getElementById('someTextField');
  oTextBox.focus();
  oTextBox.select();
}

Чтобы автоматически выделять текст в текстовом поле при получении им фокуса, нужно просто добавить вызов функции select в событие onfocus:

<input type="text" onfocus="this.select()" />
<textarea onfocus="this.select()"></textarea>

Если нужно добавить вышеприведенное действие во все текстовые поля на странице, то можно воспользоваться следующей функцией:

function setTextBoxes() {
  var txtFields = document.getElementsByTagName('input');
  var textareaFields = document.getElementsByTagName('textarea');

  for(var i = 0, len = txtFields.length; i < len; i++) {
          if(txtFields[i].type == 'text' || txtFields[i].type = 'password') {
                  txtFields[i].onfocus = function(){ this.select(); }
          }
  }

  for(var i = 0, len = textareaFields.length; i < len; i++) {
          textareaFields[i].onfocus = function(){ this.select(); }
  }