По умолчанию html фокус формы без JavaScript
Можно ли задать фокус ввода по умолчанию для HTML-формы без использования JavaScript, например:
<html>
<form>
Input 1: <input type="text" name="textbox1"/>
<br/>
Input 2: <input type="text" name="textbox2"/>
</form>
</html>
Я хочу установить фокус по умолчанию для любого из текстовых полей, когда форма загружается без использования JavaScript (так как я хочу, чтобы поведение возникало, когда пользователь отключил js).
Ответы
Ответ 1
Вы можете сделать это в HTML5, но в противном случае вы должны использовать JavaScript.
HTML5 позволяет добавить autofocus
к элементу формы, например:
<input type="text" name="myInput" autofocus />
Это работает в браузерах, которые поддерживают HTML5 (или, скорее, браузеры, которые поддерживают эту часть HTML5), но, как вы знаете, не все могут использовать его еще.
Ответ 2
Что-то, о чем нужно знать... если вы установите сфокусированный элемент формы, то любому, кто использует Assisted Technology (AT), например, программу чтения с экрана, нужно будет выполнить резервное копирование, чтобы увидеть меню и любой другой контент, который находится перед сфокусированным полем.
Предпочтительный метод, на мой взгляд, состоит в том, чтобы не фокусировать внимание на каком-либо поле, за исключением пропущенной ссылки, если она доступна. Это дает им возможность пропустить содержимое страницы или прочитать страницу сверху вниз.
Ответ 3
Как говорили другие, без Javascript вы не можете гарантировать поле по умолчанию. Альтернативный вариант, который вы можете попробовать, если у вас есть несколько полей, которые пользователь может захотеть получить, использует атрибут accesskey
. Это, по сути, означает, что пользователь может вернуться в любой из полей мгновенно позже во время просмотра, что может пригодиться пользователям устройств чтения с экрана и т.д.
Статья Википедии по этому вопросу весьма полезна - http://en.wikipedia.org/wiki/Access_key
Ответ 4
Это невозможно без какой-либо формы скриптинга. Даже домашняя страница Google требует, чтобы Javascript фокусировал поле поиска.
Ответ 5
Возможно, вы сможете использовать атрибут tabindex и использовать минимальное значение в текстовом поле по умолчанию. Проверьте поддержку браузера:
http://reference.sitepoint.com/html/object/tabindex#compatibilitysection
Сайт предполагает, что
(почти во всех других случаях, а именно, в элементах управления и связей - талиндекс имеет отличную поддержку)