JQuery - сосредоточиться на поле ввода в форме при загрузке страницы? - PullRequest
5 голосов
/ 07 октября 2009

Я пытаюсь сосредоточиться на вводе имени пользователя на экране входа в систему, чтобы упростить доступ к входу в систему, и в настоящее время мой jquery выглядит следующим образом

$(document).ready(function() {
    $('#Username').focus();
});

но это не работает ... есть идеи?

Ответы [ 6 ]

5 голосов
/ 07 октября 2009

Есть ли у тега атрибут id?

<input id="Username" name="Username" type="text" />

Я предполагаю, что у него есть только атрибут name:

<input name="Username" type="text" />

Если вы не можете добавить атрибут ID, вы можете выбрать его следующим образом:

$("input[name='Username']").focus();
4 голосов
/ 07 октября 2009

Это работает в следующем простом примере. Поэтому на вашей странице происходит что-то еще, что приводит к тому, что ввод теряет фокус. Я предлагаю использовать setTimeout для установки фокуса.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>test!</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
    </script>
    <script type="text/javascript">
      $(document).ready(function() {
    $('#Username').focus();
});
    </script>

  </head>

  <body>
  <input id="Username" />
  </body>
</html>
2 голосов
/ 22 мая 2015

Тайм-аут, вероятно, сделает свое дело:

   $(document).ready(function() {
        setTimeout(function(){
            $("input[name='inputname']").focus();
        }, 200);
    });
1 голос
/ 07 октября 2009

Ну, вот как ты это делаешь. Я полагаю, что удостоверение личности верное.

0 голосов
/ 10 февраля 2011

Internet Explorer получил некоторые проблемы, например, с таким кодом:

$(document).ready(function(){
        //focus on search field
        $("#userSearchField").focus();
});

Как глупо это выглядит, но это решило проблему для меня:

$(document).ready(function(){
    //focus on search field
    $("#userSearchField").focus();
    $("#userSearchField").focus();
});

Или попробуйте использовать setTimeout

0 голосов
/ 07 октября 2009

Ваш HTML выглядит как (с учетом регистра)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...