Topic: 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(); }
}