Как сделать так, чтобы якорная ссылка фокусировала поле формы? - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть сообщения об ошибках в теге привязки. Когда вы нажимаете на нее, она должна фокусироваться / перемещать курсор к соответствующему полю формы. Это работает в IE, но не работает в FF или Chrome. Я что-то здесь не так делаю?

У меня есть образец в jsfiddle. http://jsfiddle.net/JaaTK/

Я не хочу использовать JavaScript для достижения этой цели.

РЕДАКТИРОВАТЬ Мне придется идти по маршруту JS, так как нет лучшего пути.

Ответы [ 3 ]

8 голосов
/ 14 сентября 2011

Если вы не хотите использовать javascript - вы должны использовать тег «label» вместо «anchor», то есть вместо:

<a href="#firstName">Go to the first name</a>

вы можете использовать:

<label for="firstName">Go to the first name</label>
7 голосов
/ 14 сентября 2011

Почему бы не

<a href="javascript:document.getElementById('firstName').focus()">Go to first name</a>

Я думаю, что это единственный путь.

4 голосов
/ 14 сентября 2011

«Я не хочу использовать JavaScript для достижения этой цели».

Тогда вам не повезло.Применение фокуса к элементу - это работа JavaScript.

ОБНОВЛЕНИЕ

Итак, основываясь на вашем комментарии, я думаю, что вы задаете неправильный вопрос.Я думаю, что вы хотите спросить:

"Есть ли способ сделать мои сообщения об ошибках более доступными?"LABEL, а не применять автофокус к полю.По крайней мере, это был бы лучший способ справиться с проблемами без JavaScript.

<a href="#fieldlabel1">Error Message</a>

<label for="field1" id="fieldlabel1">Label</label><input id="field1" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...