Эврика!

Регистрация

Как передать фокус

При разработке сценария поведения пользователя на HTML-странице бывает необходимо пометить курсор ввода в определенный элемент, размещенный на этой странице. Как, например, это сделано на главной странице поисковой системы Рамблер, где курсор при загрузке страницы устанавливается в поле ввода поискового запроса. Реализовать такую передачу фокуса заданному элементу можно с помощью языка JavaScript.Как передать фокус

Воспользуйтесь свойством focus() нужного элемента страницы, для передачи ему фокуса ввода. Например, чтобы поместить курсор в текстовое поле с идентификатором MainTextField сразу после загрузки страницы в браузер посетителя, можно поместить соответствующий JavaScript-код в атрибут onload тега body:
<body onload="document.getElementById('MainTextField').focus()">
Здесь использован метод getElementById стандарта DOM (Document Object Model - «Объектная модель документа»), который осуществляет поиск нужного элемента по его идентификатору (id). Найденному элементу передается фокус ввод с помощью свойства focus.

Если требуется передать фокус, например, при нажатии помещенной в страницу кнопки, то соответствующий JavaScript-код можно поместить в атрибут, определяющий поведение кнопки при щелчке по ней - onclick. Тег такой кнопки можно записать, например, так:
<button onclick="document.getElementById('MainTextField').focus()">передать фокус</button>
Таким же способом можно поместить код передачи фокуса в теги большинства элементов, в которых допускается использование атрибута onclick.

Используйте атрибут onblur, если передать фокус нужно не по щелчку, а по перемещению фокуса из какого-либо элемента к следующему. Например, если пользователь заполнил одно поле формы и переходит к следующему, то можно принудительно перевести фокус ввода не к следующему по порядку элементу, а к тому, который вы укажете в коде, помещенном в атрибут onblur:
<input type="text" onblur="document.getElementById('MainTextField').focus()" />

Помещайте в атрибут onblur условный оператор, если требуется передать фокус в зависимости от выполнения какого-либо условия. Например, если поле формы обязательно должно быть заполнено, то в его атрибут onblur можно поместить проверку, введено ли какое-нибудь значение и если ответ отрицательный, то вернуть фокус ввода в это же поле:
<input type="text" id="MainTextField" onblur="if(this.value=='')this.focus()" />

© CompleteRepair.Ru